From 342196532f1f931994e18b31308dc92c307d6fa4 Mon Sep 17 00:00:00 2001 From: matej Date: Wed, 25 Sep 2024 19:15:39 +0200 Subject: [PATCH 1/7] #1514 replaced project_id occurrences with project and adjusted functionality with current B/E --- js/components/preview/utils.js | 4 +- js/components/target/redux/dispatchActions.js | 20 ++++++- js/reducers/api/actions.js | 56 +++++++++---------- js/reducers/api/actions.test.js | 4 +- js/reducers/api/apiReducers.js | 4 +- js/utils/genericList.js | 14 ++--- 6 files changed, 59 insertions(+), 43 deletions(-) diff --git a/js/components/preview/utils.js b/js/components/preview/utils.js index 474c35159..3f010531a 100644 --- a/js/components/preview/utils.js +++ b/js/components/preview/utils.js @@ -34,8 +34,8 @@ export const extractTargetFromURLParam = param => { export const getProjectsForTarget = (target, projectsList) => { let result = null; - if (target && projectsList && target.project_id && target.project_id.length > 0) { - const projects = projectsList.filter(project => target.project_id.includes(project.id)); + if (target && projectsList && target.project && target.project.length > 0) { + const projects = projectsList.filter(project => target.project.includes(project.id)); result = [...projects]; } return result; diff --git a/js/components/target/redux/dispatchActions.js b/js/components/target/redux/dispatchActions.js index 04798e816..586802817 100644 --- a/js/components/target/redux/dispatchActions.js +++ b/js/components/target/redux/dispatchActions.js @@ -154,7 +154,23 @@ export const getTargetProjectCombinations = (targets, projects) => { targetItems.forEach(([targetId, target]) => { if (!target.isLegacy) { const updatedTarget = target; - target.project_id.forEach(projectId => { + if (Array.isArray(target.project)) { + target.project.forEach(projectId => { + console.log('target.project array member', projectId); + const project = projects.find(project => project.id === projectId); + // const project = projects[projectId]; + if (project) { + updatedTarget.project = project; + result.push({ updatedTarget }); + } else { + console.log( + `User don't have access to project ${projectId} which is associated with target ${target.title}` + ); + } + }); + } else { + console.log('target.project', target.project); + const projectId = typeof target.project === 'object' ? target.project.id : target.project; const project = projects.find(project => project.id === projectId); // const project = projects[projectId]; if (project) { @@ -165,7 +181,7 @@ export const getTargetProjectCombinations = (targets, projects) => { `User don't have access to project ${projectId} which is associated with target ${target.title}` ); } - }); + } } else { result.push({ updatedTarget: { ...target, project: { target_access_string: 'Legacy' } } }); } diff --git a/js/reducers/api/actions.js b/js/reducers/api/actions.js index 68ab62e2c..f21069edb 100644 --- a/js/reducers/api/actions.js +++ b/js/reducers/api/actions.js @@ -7,7 +7,7 @@ export const setOpenDiscourseErrorModal = open => { return { type: constants.SET_OPEN_DISCOURSE_ERROR_MODAL, payload: open }; }; -export const setTargetIdList = function(input_json) { +export const setTargetIdList = function (input_json) { return { type: constants.SET_TARGET_ID_LIST, target_id_list: input_json @@ -28,14 +28,14 @@ export const replaceTarget = target => { }; }; -export const setDuckYankData = function(input_json) { +export const setDuckYankData = function (input_json) { return { type: constants.SET_DUCK_YANK_DATA, duck_yank_data: input_json }; }; -export const setTargetOn = function(target_id, skipTracking = false) { +export const setTargetOn = function (target_id, skipTracking = false) { return { type: constants.SET_TARGET_ON, target_on: target_id, @@ -43,62 +43,62 @@ export const setTargetOn = function(target_id, skipTracking = false) { }; }; -export const setPanddaSiteList = function(pandda_site_list) { +export const setPanddaSiteList = function (pandda_site_list) { return { type: constants.SET_PANNDA_SITE_LIST, pandda_site_list: pandda_site_list }; }; -export const setPanddaEventList = function(pandda_event_list) { +export const setPanddaEventList = function (pandda_event_list) { return { type: constants.SET_PANNDA_EVENT_LIST, pandda_event_list: pandda_event_list }; }; -export const setPanddaSiteOn = function(pandda_site_id) { +export const setPanddaSiteOn = function (pandda_site_id) { return { type: constants.SET_PANNDA_SITE_ON, pandda_site_id: pandda_site_id }; }; -export const setPanddaEventOn = function(pandda_event_id) { +export const setPanddaEventOn = function (pandda_event_id) { return { type: constants.SET_PANNDA_EVENT_ON, pandda_event_id: pandda_event_id }; }; -export const setMolGroupOn = function(mol_group_id) { +export const setMolGroupOn = function (mol_group_id) { return { type: constants.SET_MOL_GROUP_ON, mol_group_on: mol_group_id }; }; -export const setMolGroupOff = function(mol_group_id) { +export const setMolGroupOff = function (mol_group_id) { return { type: constants.SET_MOL_GROUP_OFF, mol_group_off: mol_group_id }; }; -export const setMolGroupList = function(mol_group_list) { +export const setMolGroupList = function (mol_group_list) { return { type: constants.SET_MOL_GROUP_LIST, mol_group_list: mol_group_list }; }; -export const setMoleculeList = function(molecule_list) { +export const setMoleculeList = function (molecule_list) { return { type: constants.SET_MOLECULE_LIST, molecule_list: molecule_list }; }; -export const setCachedMolLists = function(cached_mol_lists) { +export const setCachedMolLists = function (cached_mol_lists) { return { type: constants.SET_CACHED_MOL_LISTS, cached_mol_lists: cached_mol_lists @@ -182,70 +182,70 @@ export const removeLHSCompound = cmp => { }; }; -export const setSavingState = function(savingState) { +export const setSavingState = function (savingState) { return { type: constants.SET_SAVING_STATE, savingState: savingState }; }; -export const setSeshListSaving = function(seshListSaving) { +export const setSeshListSaving = function (seshListSaving) { return { type: constants.SET_SESH_LIST_SAVING, seshListSaving }; }; -export const setLatestSnapshot = function(uuid) { +export const setLatestSnapshot = function (uuid) { return { type: constants.SET_LATEST_SNAPSHOT, latestSnapshot: uuid }; }; -export const setLatestSession = function(uuid) { +export const setLatestSession = function (uuid) { return { type: constants.SET_LATEST_SESSION, latestSession: uuid }; }; -export const setSessionTitle = function(sessionTitle) { +export const setSessionTitle = function (sessionTitle) { return { type: constants.SET_SESSION_TITLE, sessionTitle: sessionTitle }; }; -export const setSessionId = function(id) { +export const setSessionId = function (id) { return { type: constants.SET_SESSION_ID, sessionId: id }; }; -export const setSessionIdList = function(input_json) { +export const setSessionIdList = function (input_json) { return { type: constants.SET_SESSION_ID_LIST, sessionIdList: input_json }; }; -export const updateSessionIdList = function(input_json) { +export const updateSessionIdList = function (input_json) { return { type: constants.UPDATE_SESSION_ID_LIST, sessionIdList: input_json }; }; -export const setTargetUnrecognised = function(bool) { +export const setTargetUnrecognised = function (bool) { return { type: constants.SET_TARGET_UNRECOGNISED, targetUnrecognised: bool }; }; -export const setUuid = function(uuid) { +export const setUuid = function (uuid) { return { type: constants.SET_UUID, uuid: uuid @@ -294,7 +294,7 @@ export const setAllDataLoaded = allDataLoaded => { }; }; -export const reloadApiState = function(apiReducers) { +export const reloadApiState = function (apiReducers) { const cachedMolList = apiReducers.cached_mol_lists; let fixedCachedMolList = {}; if (cachedMolList) { @@ -326,7 +326,7 @@ export const reloadApiState = function(apiReducers) { app_on: apiReducers.app_on, sessionIdList: apiReducers.sessionIdList, latestSession: apiReducers.latestSession, - project_id: apiReducers.project_id, + project: apiReducers.project, group_id: apiReducers.group_id, group_type: apiReducers.group_type, pandda_event_on: apiReducers.pandda_event_on, @@ -346,7 +346,7 @@ export const updateTag = (item, skipTracking = false) => { }; }; -export const setTagList = function(tagList, skipTracking = false) { +export const setTagList = function (tagList, skipTracking = false) { return { type: constants.SET_TAG_LIST, tagList: tagList, @@ -354,7 +354,7 @@ export const setTagList = function(tagList, skipTracking = false) { }; }; -export const appendTagList = function(item, skipTracking = false) { +export const appendTagList = function (item, skipTracking = false) { return { type: constants.APPEND_TAG_LIST, item: item, @@ -362,7 +362,7 @@ export const appendTagList = function(item, skipTracking = false) { }; }; -export const removeFromTagList = function(item, skipTracking = false) { +export const removeFromTagList = function (item, skipTracking = false) { return { type: constants.REMOVE_FROM_TAG_LIST, item: item, @@ -370,7 +370,7 @@ export const removeFromTagList = function(item, skipTracking = false) { }; }; -export const setCategoryList = function(categoryList, skipTracking = false) { +export const setCategoryList = function (categoryList, skipTracking = false) { return { type: constants.SET_CATEGORY_LIST, categoryList: categoryList, diff --git a/js/reducers/api/actions.test.js b/js/reducers/api/actions.test.js index 84b6ae57d..f5f5df7b0 100644 --- a/js/reducers/api/actions.test.js +++ b/js/reducers/api/actions.test.js @@ -67,7 +67,7 @@ describe("testing selection reducer's actions", () => { id: 1, uuid: 'f1b396af-87a6-4c59-8cb2-1eb37d08bc16', title: 'Created on 13/01/2020, 15:20:10', - scene: `"{\\"state\\":\\"{\\\\\\"apiReducers\\\\\\":{\\\\\\"present\\\\\\":{\\\\\\"target_id_list\\\\\\":[{\\\\\\"id\\\\\\":1,\\\\\\"title\\\\\\":\\\\\\"NUDT5A\\\\\\",\\\\\\"project_id\\\\\\":[1],\\\\\\"protein_set\\\\\\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],\\\\\\"template_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\"}],\\\\\\"mol_group_list\\\\\\":[{\\\\\\"id\\\\\\":1349,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[3,11,13,20,23,25,30,34,39,45,47,54,57,61,67,73,81,85,91,117,121,128,132,136,140,145],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-29.0779995245673,\\\\\\"y_com\\\\\\":6.01491712123347,\\\\\\"z_com\\\\\\":-63.9123385290991,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1350,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[1,8,15,16,22,27,29,33,41,42,49,56,59,63,72,79,83,87,93,118,122,125,129,133,137,141,142],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-22.484894250297,\\\\\\"y_com\\\\\\":28.3999801923385,\\\\\\"z_com\\\\\\":-57.0342539559206,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1351,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[2,10,14,17,24,31,35,37,38,43,46,51,52,58,60,64,66,70,74,76,77,80,84,88,89,90,115,119,123,126,130,134,138,143],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-2.81695936344749,\\\\\\"y_com\\\\\\":3.04520134701659,\\\\\\"z_com\\\\\\":3.6844813876363,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1352,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[4,7,9,12,18,19,21,26,28,32,36,40,44,48,50,53,55,62,68,69,71,75,78,82,86,92,94,116,120,124,127,131,135,139,144],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-17.04182333064,\\\\\\"y_com\\\\\\":-14.5853546390328,\\\\\\"z_com\\\\\\":-4.80279280511738,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1353,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[5],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-6.39705882352941,\\\\\\"y_com\\\\\\":15.7078235294118,\\\\\\"z_com\\\\\\":-24.2612352941176,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1354,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[6],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-52.3928823529412,\\\\\\"y_com\\\\\\":9.81782352941177,\\\\\\"z_com\\\\\\":-44.0535294117647,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1355,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[65],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":12.4376428571429,\\\\\\"y_com\\\\\\":5.258,\\\\\\"z_com\\\\\\":-4.62571428571429,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1356,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[95,99,103,107,111,146,150,155,158,162,166],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-10.4955049680239,\\\\\\"y_com\\\\\\":-9.68024546470901,\\\\\\"z_com\\\\\\":-8.32242130242049,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1357,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[96,100,104,108,112,147,151,156,159,163,167],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-8.16724968062983,\\\\\\"y_com\\\\\\":2.81894853371173,\\\\\\"z_com\\\\\\":-2.84670969915877,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1358,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[97,101,105,109,113,148,152,154,157,160,164,168],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-25.3682771564328,\\\\\\"y_com\\\\\\":21.5258951736469,\\\\\\"z_com\\\\\\":-52.7491056544548,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1359,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[98,102,106,110,114,149,153,161,165,169],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-33.276049496474,\\\\\\"y_com\\\\\\":12.3248778435673,\\\\\\"z_com\\\\\\":-59.8326882142243,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"}],\\\\\\"molecule_list\\\\\\":[{\\\\\\"id\\\\\\":3,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CCO[C@@H]1C(=O)Nc1cnns1\\\\\\",\\\\\\"cmpd_id\\\\\\":1,\\\\\\"prot_id\\\\\\":3,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0114_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0114_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":213.06,\\\\\\"logp\\\\\\":0.9,\\\\\\"tpsa\\\\\\":64.11,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":11,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CO[C@H](C)CN1C(=O)c1cnsn1\\\\\\",\\\\\\"cmpd_id\\\\\\":4,\\\\\\"prot_id\\\\\\":11,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0169_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0169_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.3190 5.7740 -63.9320 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6940 3.7550 -65.0660 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9280 3.1260 -64.5590 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1750 3.9960 -65.4140 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.6070 5.5120 -65.2450 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4230 4.7670 -63.5750 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.8510 5.3510 -63.7030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2940 3.4670 -64.4350 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0210 6.7940 -62.9880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8160 7.6750 -63.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5040 7.1320 -63.3990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5370 8.0310 -63.4160 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8010 8.9800 -62.8730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7870 7.0200 -62.0730 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1930 9.5490 -63.0450 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 3 1 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 7 1 6\\\\\\\\n 8 6 1 0\\\\\\\\n 8 3 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 13 1 0\\\\\\\\n 15 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":227.07,\\\\\\"logp\\\\\\":0.79,\\\\\\"tpsa\\\\\\":55.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":13,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nc(C(=O)N2CCCC2)c(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":5,\\\\\\"prot_id\\\\\\":13,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0171_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0171_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.0470 7.9770 -62.8350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2250 9.6620 -62.7210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0370 6.0430 -61.8910 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7800 8.3410 -63.0220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.2090 6.6440 -63.2350 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5370 5.9890 -63.0300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5920 4.6770 -63.8720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.9370 4.0830 -65.2570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.2420 5.0310 -66.2250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9020 5.3560 -65.5130 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0760 6.0290 -63.7190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9650 4.6300 -64.2220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.2750 5.3590 -64.0630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7180 7.1200 -63.6790 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 12 11 1 0\\\\\\\\n 13 7 1 0\\\\\\\\n 13 10 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 14 11 1 0\\\\\\\\n 14 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.08,\\\\\\"logp\\\\\\":2,\\\\\\"tpsa\\\\\\":33.2,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":20,\\\\\\"smiles\\\\\\":\\\\\\"CCNC(=O)c1c[nH]nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":7,\\\\\\"prot_id\\\\\\":20,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0177_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0177_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -27.8450 8.4520 -63.2970 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 10.6450 -62.6010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9690 7.5870 -63.3030 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2730 9.7380 -62.7790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7560 7.4590 -63.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2220 6.2190 -64.0670 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9300 5.0430 -64.3100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0130 4.2240 -64.9420 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8180 4.8820 -65.0630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9130 6.0500 -64.5500 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 1 1 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 3 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 6 1 0\\\\\\\\n 10 9 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":140.07,\\\\\\"logp\\\\\\":-0.45,\\\\\\"tpsa\\\\\\":70.67,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":2,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":23,\\\\\\"smiles\\\\\\":\\\\\\"COC(=O)c1cccc(NS(C)(=O)=O)c1\\\\\\",\\\\\\"cmpd_id\\\\\\":9,\\\\\\"prot_id\\\\\\":23,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0256_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0256_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.0670 2.4150 -64.3910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2860 8.9760 -62.6050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3940 8.1360 -63.3100 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6510 6.8370 -63.7940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9500 6.0050 -63.7470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.2180 6.5750 -63.4200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3720 5.7570 -63.3760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3090 4.3930 -63.6710 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0660 3.8030 -64.0220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.4390 1.2820 -62.0260 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8730 4.6020 -64.0520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6240 6.3830 -64.2790 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0180 -0.1270 -64.0430 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1840 1.2420 -63.2190 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5680 1.0940 -63.4650 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 11 9 2 0\\\\\\\\n 11 5 1 0\\\\\\\\n 12 4 2 0\\\\\\\\n 15 14 2 0\\\\\\\\n 15 13 2 0\\\\\\\\n 15 10 1 0\\\\\\\\n 15 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":229.04,\\\\\\"logp\\\\\\":0.84,\\\\\\"tpsa\\\\\\":72.47,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":25,\\\\\\"smiles\\\\\\":\\\\\\"c1nc(N2CCC2)c2[nH]cnc2n1\\\\\\",\\\\\\"cmpd_id\\\\\\":10,\\\\\\"prot_id\\\\\\":25,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0262_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0262_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.5270 5.6280 -63.5790 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.5150 5.0250 -63.8040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7860 6.4040 -63.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1440 4.3540 -64.0810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1830 5.9780 -63.9010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9760 5.5120 -64.5150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3380 7.5850 -63.6720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3350 9.2940 -62.8100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7250 7.2400 -63.5220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3080 5.0890 -64.4220 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4270 6.7040 -64.1730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1180 8.8840 -63.2150 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3090 8.3170 -62.9720 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 9 5 2 0\\\\\\\\n 10 5 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 11 7 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":175.09,\\\\\\"logp\\\\\\":0.56,\\\\\\"tpsa\\\\\\":57.7,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":30,\\\\\\"smiles\\\\\\":\\\\\\"Cc1cccc(Nc2ncnc3c2cnn3C)c1\\\\\\",\\\\\\"cmpd_id\\\\\\":11,\\\\\\"prot_id\\\\\\":30,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0286_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0286_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 18 20 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.9890 3.7350 -63.8040 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.3690 1.3600 -63.8790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8660 1.3160 -63.8770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9140 6.1410 -64.0280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2990 6.0450 -63.6240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1470 2.5300 -63.8610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1890 0.0850 -63.9120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8020 0.0800 -63.9610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0720 1.2810 -63.9570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7400 2.5100 -63.8710 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3400 5.0640 -63.5730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7180 6.6860 -62.6060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6190 7.3180 -63.1040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3860 9.4290 -62.7190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5800 5.4190 -63.0690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8130 7.6960 -62.5800 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4840 8.0760 -63.1910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4290 7.3830 -63.7470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 6 1 0\\\\\\\\n 10 1 1 0\\\\\\\\n 11 1 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 13 5 1 0\\\\\\\\n 15 11 1 0\\\\\\\\n 15 12 2 0\\\\\\\\n 16 13 2 0\\\\\\\\n 16 12 1 0\\\\\\\\n 17 14 1 0\\\\\\\\n 17 13 1 0\\\\\\\\n 18 17 1 0\\\\\\\\n 18 4 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":239.12,\\\\\\"logp\\\\\\":2.42,\\\\\\"tpsa\\\\\\":55.63,\\\\\\"ha\\\\\\":18,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":90},{\\\\\\"id\\\\\\":34,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)N(C)c1ncnc2c1cnn2C\\\\\\",\\\\\\"cmpd_id\\\\\\":12,\\\\\\"prot_id\\\\\\":34,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0299_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0299_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.6290 3.1440 -64.2690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.3730 0.8860 -63.5860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6600 2.0500 -64.5760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1830 2.3710 -64.6180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2750 2.8210 -64.8240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9290 4.5080 -63.8540 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4470 6.1110 -63.0190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3630 6.8390 -63.3890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1780 9.0330 -63.0440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5290 5.7590 -64.1380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9340 5.5540 -63.8460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1920 4.8290 -63.4190 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6160 7.1670 -62.9770 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2520 7.6530 -63.4290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1420 7.0050 -63.8800 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 11 6 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 8 1 0\\\\\\\\n 12 6 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 13 7 1 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 8 1 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 10 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.21,\\\\\\"tpsa\\\\\\":46.84,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":39,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)C(=O)Nc1nnn(C)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":14,\\\\\\"prot_id\\\\\\":39,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0320_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0320_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 12 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4610 5.0120 -64.1020 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.1400 4.2350 -64.4430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3400 6.0880 -63.2910 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.6460 3.8740 -64.2280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4190 2.8400 -63.1040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8500 5.1180 -63.8280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5180 6.0100 -63.8530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3750 9.2360 -62.8950 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1020 5.9050 -64.1200 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5700 7.0340 -63.8000 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5610 7.8570 -63.3470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8120 7.2620 -63.3550 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 1 0\\\\\\\\n 12 7 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":169.1,\\\\\\"logp\\\\\\":-0.2,\\\\\\"tpsa\\\\\\":72.7,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":45,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nsc(N2CCCNCC2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":15,\\\\\\"prot_id\\\\\\":45,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0333_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0333_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.6920 7.4840 -63.7630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7480 9.4620 -62.7370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7510 8.0630 -63.2230 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8030 6.1090 -63.5750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3670 3.6600 -63.5470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9190 2.7350 -64.6480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4610 2.7220 -64.7580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.2510 4.5040 -63.0270 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2440 5.4890 -63.6990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9640 7.3340 -63.0900 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7760 5.1140 -63.6270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0730 3.0820 -63.4470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1340 5.9000 -64.1790 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 4 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 9 1 0\\\\\\\\n 11 4 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 4 1 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":198.09,\\\\\\"logp\\\\\\":0.65,\\\\\\"tpsa\\\\\\":41.05,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":47,\\\\\\"smiles\\\\\\":\\\\\\"CCN(CC)c1cc(C)nc2ncnn12\\\\\\",\\\\\\"cmpd_id\\\\\\":16,\\\\\\"prot_id\\\\\\":47,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0339_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0339_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.2830 5.0870 -63.6690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1500 6.6640 -63.6300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3310 5.6710 -62.8100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7060 3.9130 -64.5060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5470 2.5480 -63.8200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9740 5.7150 -63.8490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7470 7.0090 -63.4150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4640 7.6230 -63.5160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3320 9.0230 -63.0420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5660 5.7680 -64.5060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4300 3.7660 -65.3150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3700 7.0550 -64.0350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.6930 4.9250 -65.0880 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7220 3.8210 -64.9250 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8430 5.0790 -64.4180 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 1 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 11 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 11 2 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 6 1 0\\\\\\\\n 15 10 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.28,\\\\\\"tpsa\\\\\\":46.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":54,\\\\\\"smiles\\\\\\":\\\\\\"CNC(=O)c1cnc(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":19,\\\\\\"prot_id\\\\\\":54,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0412_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0412_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.3410 3.0290 -64.6300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6660 2.9820 -64.0020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3490 3.9150 -65.2420 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4220 4.1220 -64.6860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6580 5.4900 -64.1120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8190 6.0780 -63.6280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3700 7.7760 -63.3870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8390 9.1080 -63.0660 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.6550 7.3990 -63.2070 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3370 6.5970 -64.0400 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 7 2 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 7 1 0\\\\\\\\n 10 5 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":156.04,\\\\\\"logp\\\\\\":0.81,\\\\\\"tpsa\\\\\\":41.99,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":57,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)c1ncc(Cl)c(C(N)=O)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":20,\\\\\\"prot_id\\\\\\":57,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0463_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0463_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.2950 4.7080 -64.4810 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5760 7.9850 -63.9870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.4910 6.4160 -64.6570 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2990 6.6770 -63.2560 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.5880 5.8210 -63.1520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1310 5.9830 -63.9650 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1640 4.0660 -64.8780 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8730 4.6570 -64.7880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8190 5.9940 -64.3190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5560 6.8200 -64.2620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9400 6.6530 -63.9040 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6550 8.0910 -63.7650 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5340 3.6740 -65.1110 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 6 4 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 9 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":199.05,\\\\\\"logp\\\\\\":1.35,\\\\\\"tpsa\\\\\\":68.87,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":70},{\\\\\\"id\\\\\\":61,\\\\\\"smiles\\\\\\":\\\\\\"CNc1nccc(OC)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":21,\\\\\\"prot_id\\\\\\":61,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0469_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0469_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.7980 9.2210 -63.0530 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7010 10.2290 -62.4940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.9240 4.9410 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.2810 8.0140 -63.4830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0880 6.5590 -63.7960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2330 5.5450 -64.2200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8320 5.8740 -64.2540 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.2520 3.6080 -65.1790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6760 7.7870 -63.4280 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3120 7.0960 -63.8870 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 3 1 0\\\\\\\\n 9 5 1 0\\\\\\\\n 9 4 2 0\\\\\\\\n 10 4 1 0\\\\\\\\n 10 7 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":139.07,\\\\\\"logp\\\\\\":0.53,\\\\\\"tpsa\\\\\\":47.04,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":67,\\\\\\"smiles\\\\\\":\\\\\\"Cc1n[nH]c(C)c1S(=O)(=O)N(C)C\\\\\\",\\\\\\"cmpd_id\\\\\\":24,\\\\\\"prot_id\\\\\\":67,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0552_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0552_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -31.1580 8.1880 -64.7300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9110 7.5030 -65.7940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9140 8.1900 -62.2090 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.0880 9.6460 -64.9890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9190 7.5940 -63.6110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9970 8.6940 -63.2910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2720 10.0100 -62.6420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0910 6.6250 -64.2370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4080 5.2990 -64.8210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7530 8.3800 -63.7000 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8500 7.1270 -64.2630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8650 6.0800 -63.4170 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5140 7.4600 -63.3640 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 5 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 11 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 13 12 2 0\\\\\\\\n 13 5 1 0\\\\\\\\n 13 3 2 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":203.07,\\\\\\"logp\\\\\\":0.28,\\\\\\"tpsa\\\\\\":66.06,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":74},{\\\\\\"id\\\\\\":73,\\\\\\"smiles\\\\\\":\\\\\\"c1csc(-c2nnc[nH]2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":26,\\\\\\"prot_id\\\\\\":73,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0574_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0574_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.6200 4.8950 -64.3730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5460 3.5800 -64.8720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2880 3.1660 -65.2290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3980 5.4210 -64.3770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1060 6.7290 -63.9180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3780 8.7850 -63.1400 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8830 7.3320 -63.9060 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0560 8.5800 -63.4410 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0760 7.6130 -63.4360 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1250 4.3950 -64.9640 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 3 2 2 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 7 5 2 0\\\\\\\\n 8 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 9 5 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 10 3 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":152.02,\\\\\\"logp\\\\\\":0.93,\\\\\\"tpsa\\\\\\":54.46,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":50},{\\\\\\"id\\\\\\":81,\\\\\\"smiles\\\\\\":\\\\\\"CCNc1ccc(C)nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":30,\\\\\\"prot_id\\\\\\":81,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0637_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0637_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -27.5590 8.7020 -63.5230 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9130 10.2410 -62.2180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9200 8.9540 -63.0360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1630 7.4910 -64.0490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9730 6.3110 -64.1680 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4080 5.1860 -64.8370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0860 5.3000 -65.3470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.3540 4.2010 -66.0800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.3710 6.4890 -65.1780 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.8520 7.5000 -64.5740 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":137.1,\\\\\\"logp\\\\\\":1.22,\\\\\\"tpsa\\\\\\":37.81,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":85,\\\\\\"smiles\\\\\\":\\\\\\"Cn1cc(Oc2ncncc2Cl)cn1\\\\\\",\\\\\\"cmpd_id\\\\\\":32,\\\\\\"prot_id\\\\\\":85,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0673_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0673_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -32.4610 4.4040 -64.3750 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5990 3.5050 -64.1280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9940 6.9560 -63.8080 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7840 5.2300 -63.4530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8280 5.9060 -64.2250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6360 6.8360 -63.8770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8150 5.4680 -64.4170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3790 7.6400 -63.7040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7420 7.8810 -63.5480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9710 5.4160 -65.5600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1740 5.5970 -64.3170 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.8760 6.4440 -64.1290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9700 4.5170 -65.6380 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1650 9.3790 -62.9540 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 5 3 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 9 6 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 5 1 0\\\\\\\\n 11 6 1 0\\\\\\\\n 11 7 2 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.03,\\\\\\"logp\\\\\\":1.66,\\\\\\"tpsa\\\\\\":52.83,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":91,\\\\\\"smiles\\\\\\":\\\\\\"COc1ccc2cn[nH]c(=O)c2c1OC\\\\\\",\\\\\\"cmpd_id\\\\\\":34,\\\\\\"prot_id\\\\\\":91,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0685_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0685_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.9750 6.8000 -63.9890 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9900 1.6570 -65.8520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.6940 2.3820 -64.6300 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5660 3.2040 -64.5830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3250 2.6910 -65.0580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1900 3.4940 -65.0780 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2500 4.7980 -64.5900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0460 5.5970 -64.5310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4060 6.7150 -63.4600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4610 5.3530 -64.0640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6540 4.5540 -64.0840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.7960 4.3820 -62.9290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1020 7.3370 -63.4810 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.3060 7.3440 -62.9280 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8710 5.1390 -63.6980 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 10 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 2 0\\\\\\\\n 11 4 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 12 1 0\\\\\\\\n 15 11 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":206.07,\\\\\\"logp\\\\\\":0.94,\\\\\\"tpsa\\\\\\":64.21,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":78},{\\\\\\"id\\\\\\":117,\\\\\\"smiles\\\\\\":\\\\\\"Nc1nccc(C(F)(F)F)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":41,\\\\\\"prot_id\\\\\\":117,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1072_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1072_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 11 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4930 6.9940 -63.4910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3540 5.5480 -63.8860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8480 5.8170 -64.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1290 7.2950 -63.5880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6120 5.2880 -64.6490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9850 4.8910 -64.6030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0700 6.6130 -64.1890 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7400 5.2150 -62.6550 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8260 4.5400 -64.6530 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7270 8.5010 -63.0640 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1490 6.4650 -64.1580 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 7 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 6 3 1 0\\\\\\\\n 8 2 1 0\\\\\\\\n 9 2 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 4 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":163.04,\\\\\\"logp\\\\\\":1.08,\\\\\\"tpsa\\\\\\":51.8,\\\\\\"ha\\\\\\":11,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":121,\\\\\\"smiles\\\\\\":\\\\\\"O=c1[nH]cnc2cc(F)ccc12\\\\\\",\\\\\\"cmpd_id\\\\\\":42,\\\\\\"prot_id\\\\\\":121,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1078_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1078_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.9280 8.4750 -62.8910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7010 5.5420 -63.9930 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6780 6.4830 -64.3100 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6400 4.7240 -64.5140 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3250 5.1950 -64.4800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4280 6.8010 -63.4730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1200 7.2460 -63.4490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7040 8.9380 -62.8420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0660 6.4670 -63.9490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6980 7.0080 -63.9050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.9940 5.0760 -63.9550 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5720 8.2810 -63.3290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 2 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 9 5 2 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 12 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.06,\\\\\\"tpsa\\\\\\":45.75,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":128,\\\\\\"smiles\\\\\\":\\\\\\"FC(F)c1nnc2c(C(F)(F)F)cccn12\\\\\\",\\\\\\"cmpd_id\\\\\\":44,\\\\\\"prot_id\\\\\\":128,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1093_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1093_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.7620 6.7460 -63.8730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9120 3.3840 -65.5290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7280 4.4870 -64.8430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0650 4.3800 -64.5720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7640 5.4720 -63.9460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1250 6.6390 -63.6010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0330 5.6820 -64.4960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8070 7.7370 -63.6630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9930 9.0950 -63.0420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8680 3.8390 -66.2630 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6460 2.6400 -66.3880 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8040 9.7100 -62.9850 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7320 9.9100 -63.8400 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3960 2.4890 -64.6670 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7120 6.0720 -64.6260 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5850 7.2880 -64.1290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 10 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 12 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 14 2 1 0\\\\\\\\n 15 7 2 0\\\\\\\\n 16 8 2 0\\\\\\\\n 16 15 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":237.03,\\\\\\"logp\\\\\\":2.69,\\\\\\"tpsa\\\\\\":30.19,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":86},{\\\\\\"id\\\\\\":132,\\\\\\"smiles\\\\\\":\\\\\\"N#Cc1c(C(F)(F)F)cn2ccnc2c1Cl\\\\\\",\\\\\\"cmpd_id\\\\\\":45,\\\\\\"prot_id\\\\\\":132,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1211_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1211_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.9500 7.1130 -63.9640 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2630 4.9230 -64.3300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0650 6.3050 -63.9790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4430 8.3760 -63.5480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8340 8.3410 -63.2900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5290 6.4580 -63.4970 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6680 5.1280 -63.8310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0530 4.4390 -63.8190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4990 4.3380 -64.2240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5630 2.9160 -64.3430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.0690 5.2100 -63.3370 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0590 3.2990 -63.0950 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.4830 4.0510 -65.0520 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2510 7.0330 -63.5590 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5980 1.7490 -64.4090 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9760 4.0490 -64.9060 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 11 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 9 2 2 0\\\\\\\\n 10 9 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 13 8 1 0\\\\\\\\n 14 6 1 0\\\\\\\\n 14 5 1 0\\\\\\\\n 14 3 1 0\\\\\\\\n 15 10 3 0\\\\\\\\n 16 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":245,\\\\\\"logp\\\\\\":2.88,\\\\\\"tpsa\\\\\\":41.09,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":136,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2cccc(F)c12\\\\\\",\\\\\\"cmpd_id\\\\\\":46,\\\\\\"prot_id\\\\\\":136,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1212_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1212_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7830 8.1080 -63.0090 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6140 4.9010 -64.4920 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1470 6.5620 -64.1540 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8070 4.2310 -64.5570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.0170 4.8880 -64.1190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9920 6.1710 -63.6380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7640 6.8580 -63.5570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5920 8.7220 -62.8810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3570 7.0100 -63.7960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5490 6.2370 -63.9810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4920 4.2910 -64.9040 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3460 8.2270 -63.2600 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 1 2 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 3 1 0\\\\\\\\n 10 2 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 7 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 9 1 0\\\\\\\\n 12 8 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":140,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2ccc(F)cc12\\\\\\",\\\\\\"cmpd_id\\\\\\":47,\\\\\\"prot_id\\\\\\":140,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1213_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1213_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4830 8.5670 -62.8930 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7560 4.7170 -64.3380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0350 6.7430 -64.1740 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9370 5.4050 -63.8900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8330 6.6970 -63.4250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5630 7.3030 -63.3840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2630 9.1360 -62.8930 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5510 5.2950 -64.3310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4520 6.5980 -63.8440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.2000 7.3060 -63.7900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8310 3.4620 -64.7680 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0710 8.5670 -63.3450 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 2 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 12 10 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":145,\\\\\\"smiles\\\\\\":\\\\\\"CSc1nc(C(F)(F)F)cc(=O)n1C\\\\\\",\\\\\\"cmpd_id\\\\\\":48,\\\\\\"prot_id\\\\\\":145,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1214_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1214_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.2670 6.0130 -64.1270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3960 6.1310 -63.2310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0390 6.6880 -64.3750 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5710 6.4240 -63.7360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9640 4.6190 -64.5810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8300 8.5650 -63.2400 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2090 9.9150 -62.6490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5480 8.3260 -63.5890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1840 6.9950 -64.0590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0280 9.7010 -61.5970 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1750 10.6450 -62.1940 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9270 10.7300 -63.5010 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8770 7.6470 -63.3060 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9100 5.2840 -63.7950 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 10 1 0\\\\\\\\n 8 6 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 9 3 2 0\\\\\\\\n 11 7 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 13 4 2 0\\\\\\\\n 14 4 1 0\\\\\\\\n 14 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":224.02,\\\\\\"logp\\\\\\":1.52,\\\\\\"tpsa\\\\\\":34.89,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":78}],\\\\\\"cached_mol_lists\\\\\\":{\\\\\\"1349\\\\\\":{\\\\\\"count\\\\\\":26,\\\\\\"next\\\\\\":null,\\\\\\"previous\\\\\\":null,\\\\\\"results\\\\\\":[{\\\\\\"id\\\\\\":3,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CCO[C@@H]1C(=O)Nc1cnns1\\\\\\",\\\\\\"cmpd_id\\\\\\":1,\\\\\\"prot_id\\\\\\":3,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0114_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0114_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":213.06,\\\\\\"logp\\\\\\":0.9,\\\\\\"tpsa\\\\\\":64.11,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":11,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CO[C@H](C)CN1C(=O)c1cnsn1\\\\\\",\\\\\\"cmpd_id\\\\\\":4,\\\\\\"prot_id\\\\\\":11,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0169_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0169_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.3190 5.7740 -63.9320 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6940 3.7550 -65.0660 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9280 3.1260 -64.5590 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1750 3.9960 -65.4140 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.6070 5.5120 -65.2450 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4230 4.7670 -63.5750 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.8510 5.3510 -63.7030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2940 3.4670 -64.4350 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0210 6.7940 -62.9880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8160 7.6750 -63.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5040 7.1320 -63.3990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5370 8.0310 -63.4160 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8010 8.9800 -62.8730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7870 7.0200 -62.0730 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1930 9.5490 -63.0450 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 3 1 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 7 1 6\\\\\\\\n 8 6 1 0\\\\\\\\n 8 3 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 13 1 0\\\\\\\\n 15 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":227.07,\\\\\\"logp\\\\\\":0.79,\\\\\\"tpsa\\\\\\":55.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":13,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nc(C(=O)N2CCCC2)c(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":5,\\\\\\"prot_id\\\\\\":13,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0171_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0171_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.0470 7.9770 -62.8350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2250 9.6620 -62.7210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0370 6.0430 -61.8910 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7800 8.3410 -63.0220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.2090 6.6440 -63.2350 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5370 5.9890 -63.0300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5920 4.6770 -63.8720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.9370 4.0830 -65.2570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.2420 5.0310 -66.2250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9020 5.3560 -65.5130 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0760 6.0290 -63.7190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9650 4.6300 -64.2220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.2750 5.3590 -64.0630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7180 7.1200 -63.6790 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 12 11 1 0\\\\\\\\n 13 7 1 0\\\\\\\\n 13 10 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 14 11 1 0\\\\\\\\n 14 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.08,\\\\\\"logp\\\\\\":2,\\\\\\"tpsa\\\\\\":33.2,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":20,\\\\\\"smiles\\\\\\":\\\\\\"CCNC(=O)c1c[nH]nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":7,\\\\\\"prot_id\\\\\\":20,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0177_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0177_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -27.8450 8.4520 -63.2970 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 10.6450 -62.6010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9690 7.5870 -63.3030 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2730 9.7380 -62.7790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7560 7.4590 -63.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2220 6.2190 -64.0670 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9300 5.0430 -64.3100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0130 4.2240 -64.9420 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8180 4.8820 -65.0630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9130 6.0500 -64.5500 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 1 1 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 3 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 6 1 0\\\\\\\\n 10 9 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":140.07,\\\\\\"logp\\\\\\":-0.45,\\\\\\"tpsa\\\\\\":70.67,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":2,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":23,\\\\\\"smiles\\\\\\":\\\\\\"COC(=O)c1cccc(NS(C)(=O)=O)c1\\\\\\",\\\\\\"cmpd_id\\\\\\":9,\\\\\\"prot_id\\\\\\":23,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0256_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0256_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.0670 2.4150 -64.3910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2860 8.9760 -62.6050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3940 8.1360 -63.3100 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6510 6.8370 -63.7940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9500 6.0050 -63.7470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.2180 6.5750 -63.4200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3720 5.7570 -63.3760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3090 4.3930 -63.6710 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0660 3.8030 -64.0220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.4390 1.2820 -62.0260 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8730 4.6020 -64.0520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6240 6.3830 -64.2790 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0180 -0.1270 -64.0430 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1840 1.2420 -63.2190 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5680 1.0940 -63.4650 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 11 9 2 0\\\\\\\\n 11 5 1 0\\\\\\\\n 12 4 2 0\\\\\\\\n 15 14 2 0\\\\\\\\n 15 13 2 0\\\\\\\\n 15 10 1 0\\\\\\\\n 15 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":229.04,\\\\\\"logp\\\\\\":0.84,\\\\\\"tpsa\\\\\\":72.47,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":25,\\\\\\"smiles\\\\\\":\\\\\\"c1nc(N2CCC2)c2[nH]cnc2n1\\\\\\",\\\\\\"cmpd_id\\\\\\":10,\\\\\\"prot_id\\\\\\":25,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0262_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0262_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.5270 5.6280 -63.5790 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.5150 5.0250 -63.8040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7860 6.4040 -63.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1440 4.3540 -64.0810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1830 5.9780 -63.9010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9760 5.5120 -64.5150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3380 7.5850 -63.6720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3350 9.2940 -62.8100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7250 7.2400 -63.5220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3080 5.0890 -64.4220 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4270 6.7040 -64.1730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1180 8.8840 -63.2150 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3090 8.3170 -62.9720 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 9 5 2 0\\\\\\\\n 10 5 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 11 7 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":175.09,\\\\\\"logp\\\\\\":0.56,\\\\\\"tpsa\\\\\\":57.7,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":30,\\\\\\"smiles\\\\\\":\\\\\\"Cc1cccc(Nc2ncnc3c2cnn3C)c1\\\\\\",\\\\\\"cmpd_id\\\\\\":11,\\\\\\"prot_id\\\\\\":30,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0286_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0286_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 18 20 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.9890 3.7350 -63.8040 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.3690 1.3600 -63.8790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8660 1.3160 -63.8770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9140 6.1410 -64.0280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2990 6.0450 -63.6240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1470 2.5300 -63.8610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1890 0.0850 -63.9120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8020 0.0800 -63.9610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0720 1.2810 -63.9570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7400 2.5100 -63.8710 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3400 5.0640 -63.5730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7180 6.6860 -62.6060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6190 7.3180 -63.1040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3860 9.4290 -62.7190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5800 5.4190 -63.0690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8130 7.6960 -62.5800 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4840 8.0760 -63.1910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4290 7.3830 -63.7470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 6 1 0\\\\\\\\n 10 1 1 0\\\\\\\\n 11 1 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 13 5 1 0\\\\\\\\n 15 11 1 0\\\\\\\\n 15 12 2 0\\\\\\\\n 16 13 2 0\\\\\\\\n 16 12 1 0\\\\\\\\n 17 14 1 0\\\\\\\\n 17 13 1 0\\\\\\\\n 18 17 1 0\\\\\\\\n 18 4 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":239.12,\\\\\\"logp\\\\\\":2.42,\\\\\\"tpsa\\\\\\":55.63,\\\\\\"ha\\\\\\":18,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":90},{\\\\\\"id\\\\\\":34,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)N(C)c1ncnc2c1cnn2C\\\\\\",\\\\\\"cmpd_id\\\\\\":12,\\\\\\"prot_id\\\\\\":34,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0299_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0299_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.6290 3.1440 -64.2690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.3730 0.8860 -63.5860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6600 2.0500 -64.5760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1830 2.3710 -64.6180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2750 2.8210 -64.8240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9290 4.5080 -63.8540 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4470 6.1110 -63.0190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3630 6.8390 -63.3890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1780 9.0330 -63.0440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5290 5.7590 -64.1380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9340 5.5540 -63.8460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1920 4.8290 -63.4190 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6160 7.1670 -62.9770 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2520 7.6530 -63.4290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1420 7.0050 -63.8800 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 11 6 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 8 1 0\\\\\\\\n 12 6 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 13 7 1 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 8 1 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 10 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.21,\\\\\\"tpsa\\\\\\":46.84,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":39,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)C(=O)Nc1nnn(C)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":14,\\\\\\"prot_id\\\\\\":39,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0320_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0320_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 12 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4610 5.0120 -64.1020 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.1400 4.2350 -64.4430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3400 6.0880 -63.2910 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.6460 3.8740 -64.2280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4190 2.8400 -63.1040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8500 5.1180 -63.8280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5180 6.0100 -63.8530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3750 9.2360 -62.8950 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1020 5.9050 -64.1200 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5700 7.0340 -63.8000 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5610 7.8570 -63.3470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8120 7.2620 -63.3550 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 1 0\\\\\\\\n 12 7 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":169.1,\\\\\\"logp\\\\\\":-0.2,\\\\\\"tpsa\\\\\\":72.7,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":45,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nsc(N2CCCNCC2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":15,\\\\\\"prot_id\\\\\\":45,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0333_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0333_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.6920 7.4840 -63.7630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7480 9.4620 -62.7370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7510 8.0630 -63.2230 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8030 6.1090 -63.5750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3670 3.6600 -63.5470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9190 2.7350 -64.6480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4610 2.7220 -64.7580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.2510 4.5040 -63.0270 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2440 5.4890 -63.6990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9640 7.3340 -63.0900 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7760 5.1140 -63.6270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0730 3.0820 -63.4470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1340 5.9000 -64.1790 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 4 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 9 1 0\\\\\\\\n 11 4 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 4 1 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":198.09,\\\\\\"logp\\\\\\":0.65,\\\\\\"tpsa\\\\\\":41.05,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":47,\\\\\\"smiles\\\\\\":\\\\\\"CCN(CC)c1cc(C)nc2ncnn12\\\\\\",\\\\\\"cmpd_id\\\\\\":16,\\\\\\"prot_id\\\\\\":47,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0339_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0339_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.2830 5.0870 -63.6690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1500 6.6640 -63.6300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3310 5.6710 -62.8100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7060 3.9130 -64.5060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5470 2.5480 -63.8200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9740 5.7150 -63.8490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7470 7.0090 -63.4150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4640 7.6230 -63.5160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3320 9.0230 -63.0420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5660 5.7680 -64.5060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4300 3.7660 -65.3150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3700 7.0550 -64.0350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.6930 4.9250 -65.0880 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7220 3.8210 -64.9250 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8430 5.0790 -64.4180 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 1 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 11 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 11 2 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 6 1 0\\\\\\\\n 15 10 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.28,\\\\\\"tpsa\\\\\\":46.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":54,\\\\\\"smiles\\\\\\":\\\\\\"CNC(=O)c1cnc(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":19,\\\\\\"prot_id\\\\\\":54,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0412_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0412_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.3410 3.0290 -64.6300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6660 2.9820 -64.0020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3490 3.9150 -65.2420 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4220 4.1220 -64.6860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6580 5.4900 -64.1120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8190 6.0780 -63.6280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3700 7.7760 -63.3870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8390 9.1080 -63.0660 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.6550 7.3990 -63.2070 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3370 6.5970 -64.0400 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 7 2 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 7 1 0\\\\\\\\n 10 5 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":156.04,\\\\\\"logp\\\\\\":0.81,\\\\\\"tpsa\\\\\\":41.99,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":57,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)c1ncc(Cl)c(C(N)=O)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":20,\\\\\\"prot_id\\\\\\":57,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0463_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0463_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.2950 4.7080 -64.4810 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5760 7.9850 -63.9870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.4910 6.4160 -64.6570 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2990 6.6770 -63.2560 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.5880 5.8210 -63.1520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1310 5.9830 -63.9650 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1640 4.0660 -64.8780 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8730 4.6570 -64.7880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8190 5.9940 -64.3190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5560 6.8200 -64.2620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9400 6.6530 -63.9040 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6550 8.0910 -63.7650 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5340 3.6740 -65.1110 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 6 4 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 9 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":199.05,\\\\\\"logp\\\\\\":1.35,\\\\\\"tpsa\\\\\\":68.87,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":70},{\\\\\\"id\\\\\\":61,\\\\\\"smiles\\\\\\":\\\\\\"CNc1nccc(OC)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":21,\\\\\\"prot_id\\\\\\":61,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0469_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0469_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.7980 9.2210 -63.0530 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7010 10.2290 -62.4940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.9240 4.9410 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.2810 8.0140 -63.4830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0880 6.5590 -63.7960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2330 5.5450 -64.2200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8320 5.8740 -64.2540 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.2520 3.6080 -65.1790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6760 7.7870 -63.4280 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3120 7.0960 -63.8870 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 3 1 0\\\\\\\\n 9 5 1 0\\\\\\\\n 9 4 2 0\\\\\\\\n 10 4 1 0\\\\\\\\n 10 7 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":139.07,\\\\\\"logp\\\\\\":0.53,\\\\\\"tpsa\\\\\\":47.04,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":67,\\\\\\"smiles\\\\\\":\\\\\\"Cc1n[nH]c(C)c1S(=O)(=O)N(C)C\\\\\\",\\\\\\"cmpd_id\\\\\\":24,\\\\\\"prot_id\\\\\\":67,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0552_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0552_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -31.1580 8.1880 -64.7300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9110 7.5030 -65.7940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9140 8.1900 -62.2090 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.0880 9.6460 -64.9890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9190 7.5940 -63.6110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9970 8.6940 -63.2910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2720 10.0100 -62.6420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0910 6.6250 -64.2370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4080 5.2990 -64.8210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7530 8.3800 -63.7000 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8500 7.1270 -64.2630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8650 6.0800 -63.4170 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5140 7.4600 -63.3640 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 5 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 11 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 13 12 2 0\\\\\\\\n 13 5 1 0\\\\\\\\n 13 3 2 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":203.07,\\\\\\"logp\\\\\\":0.28,\\\\\\"tpsa\\\\\\":66.06,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":74},{\\\\\\"id\\\\\\":73,\\\\\\"smiles\\\\\\":\\\\\\"c1csc(-c2nnc[nH]2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":26,\\\\\\"prot_id\\\\\\":73,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0574_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0574_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.6200 4.8950 -64.3730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5460 3.5800 -64.8720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2880 3.1660 -65.2290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3980 5.4210 -64.3770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1060 6.7290 -63.9180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3780 8.7850 -63.1400 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8830 7.3320 -63.9060 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0560 8.5800 -63.4410 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0760 7.6130 -63.4360 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1250 4.3950 -64.9640 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 3 2 2 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 7 5 2 0\\\\\\\\n 8 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 9 5 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 10 3 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":152.02,\\\\\\"logp\\\\\\":0.93,\\\\\\"tpsa\\\\\\":54.46,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":50},{\\\\\\"id\\\\\\":81,\\\\\\"smiles\\\\\\":\\\\\\"CCNc1ccc(C)nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":30,\\\\\\"prot_id\\\\\\":81,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0637_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0637_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -27.5590 8.7020 -63.5230 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9130 10.2410 -62.2180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9200 8.9540 -63.0360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1630 7.4910 -64.0490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9730 6.3110 -64.1680 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4080 5.1860 -64.8370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0860 5.3000 -65.3470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.3540 4.2010 -66.0800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.3710 6.4890 -65.1780 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.8520 7.5000 -64.5740 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":137.1,\\\\\\"logp\\\\\\":1.22,\\\\\\"tpsa\\\\\\":37.81,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":85,\\\\\\"smiles\\\\\\":\\\\\\"Cn1cc(Oc2ncncc2Cl)cn1\\\\\\",\\\\\\"cmpd_id\\\\\\":32,\\\\\\"prot_id\\\\\\":85,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0673_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0673_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -32.4610 4.4040 -64.3750 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5990 3.5050 -64.1280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9940 6.9560 -63.8080 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7840 5.2300 -63.4530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8280 5.9060 -64.2250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6360 6.8360 -63.8770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8150 5.4680 -64.4170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3790 7.6400 -63.7040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7420 7.8810 -63.5480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9710 5.4160 -65.5600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1740 5.5970 -64.3170 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.8760 6.4440 -64.1290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9700 4.5170 -65.6380 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1650 9.3790 -62.9540 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 5 3 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 9 6 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 5 1 0\\\\\\\\n 11 6 1 0\\\\\\\\n 11 7 2 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.03,\\\\\\"logp\\\\\\":1.66,\\\\\\"tpsa\\\\\\":52.83,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":91,\\\\\\"smiles\\\\\\":\\\\\\"COc1ccc2cn[nH]c(=O)c2c1OC\\\\\\",\\\\\\"cmpd_id\\\\\\":34,\\\\\\"prot_id\\\\\\":91,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0685_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0685_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.9750 6.8000 -63.9890 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9900 1.6570 -65.8520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.6940 2.3820 -64.6300 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5660 3.2040 -64.5830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3250 2.6910 -65.0580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1900 3.4940 -65.0780 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2500 4.7980 -64.5900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0460 5.5970 -64.5310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4060 6.7150 -63.4600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4610 5.3530 -64.0640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6540 4.5540 -64.0840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.7960 4.3820 -62.9290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1020 7.3370 -63.4810 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.3060 7.3440 -62.9280 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8710 5.1390 -63.6980 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 10 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 2 0\\\\\\\\n 11 4 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 12 1 0\\\\\\\\n 15 11 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":206.07,\\\\\\"logp\\\\\\":0.94,\\\\\\"tpsa\\\\\\":64.21,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":78},{\\\\\\"id\\\\\\":117,\\\\\\"smiles\\\\\\":\\\\\\"Nc1nccc(C(F)(F)F)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":41,\\\\\\"prot_id\\\\\\":117,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1072_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1072_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 11 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4930 6.9940 -63.4910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3540 5.5480 -63.8860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8480 5.8170 -64.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1290 7.2950 -63.5880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6120 5.2880 -64.6490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9850 4.8910 -64.6030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0700 6.6130 -64.1890 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7400 5.2150 -62.6550 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8260 4.5400 -64.6530 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7270 8.5010 -63.0640 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1490 6.4650 -64.1580 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 7 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 6 3 1 0\\\\\\\\n 8 2 1 0\\\\\\\\n 9 2 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 4 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":163.04,\\\\\\"logp\\\\\\":1.08,\\\\\\"tpsa\\\\\\":51.8,\\\\\\"ha\\\\\\":11,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":121,\\\\\\"smiles\\\\\\":\\\\\\"O=c1[nH]cnc2cc(F)ccc12\\\\\\",\\\\\\"cmpd_id\\\\\\":42,\\\\\\"prot_id\\\\\\":121,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1078_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1078_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.9280 8.4750 -62.8910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7010 5.5420 -63.9930 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6780 6.4830 -64.3100 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6400 4.7240 -64.5140 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3250 5.1950 -64.4800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4280 6.8010 -63.4730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1200 7.2460 -63.4490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7040 8.9380 -62.8420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0660 6.4670 -63.9490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6980 7.0080 -63.9050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.9940 5.0760 -63.9550 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5720 8.2810 -63.3290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 2 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 9 5 2 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 12 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.06,\\\\\\"tpsa\\\\\\":45.75,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":128,\\\\\\"smiles\\\\\\":\\\\\\"FC(F)c1nnc2c(C(F)(F)F)cccn12\\\\\\",\\\\\\"cmpd_id\\\\\\":44,\\\\\\"prot_id\\\\\\":128,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1093_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1093_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.7620 6.7460 -63.8730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9120 3.3840 -65.5290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7280 4.4870 -64.8430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0650 4.3800 -64.5720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7640 5.4720 -63.9460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1250 6.6390 -63.6010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0330 5.6820 -64.4960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8070 7.7370 -63.6630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9930 9.0950 -63.0420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8680 3.8390 -66.2630 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6460 2.6400 -66.3880 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8040 9.7100 -62.9850 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7320 9.9100 -63.8400 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3960 2.4890 -64.6670 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7120 6.0720 -64.6260 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5850 7.2880 -64.1290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 10 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 12 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 14 2 1 0\\\\\\\\n 15 7 2 0\\\\\\\\n 16 8 2 0\\\\\\\\n 16 15 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":237.03,\\\\\\"logp\\\\\\":2.69,\\\\\\"tpsa\\\\\\":30.19,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":86},{\\\\\\"id\\\\\\":132,\\\\\\"smiles\\\\\\":\\\\\\"N#Cc1c(C(F)(F)F)cn2ccnc2c1Cl\\\\\\",\\\\\\"cmpd_id\\\\\\":45,\\\\\\"prot_id\\\\\\":132,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1211_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1211_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.9500 7.1130 -63.9640 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2630 4.9230 -64.3300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0650 6.3050 -63.9790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4430 8.3760 -63.5480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8340 8.3410 -63.2900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5290 6.4580 -63.4970 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6680 5.1280 -63.8310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0530 4.4390 -63.8190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4990 4.3380 -64.2240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5630 2.9160 -64.3430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.0690 5.2100 -63.3370 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0590 3.2990 -63.0950 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.4830 4.0510 -65.0520 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2510 7.0330 -63.5590 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5980 1.7490 -64.4090 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9760 4.0490 -64.9060 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 11 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 9 2 2 0\\\\\\\\n 10 9 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 13 8 1 0\\\\\\\\n 14 6 1 0\\\\\\\\n 14 5 1 0\\\\\\\\n 14 3 1 0\\\\\\\\n 15 10 3 0\\\\\\\\n 16 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":245,\\\\\\"logp\\\\\\":2.88,\\\\\\"tpsa\\\\\\":41.09,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":136,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2cccc(F)c12\\\\\\",\\\\\\"cmpd_id\\\\\\":46,\\\\\\"prot_id\\\\\\":136,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1212_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1212_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7830 8.1080 -63.0090 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6140 4.9010 -64.4920 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1470 6.5620 -64.1540 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8070 4.2310 -64.5570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.0170 4.8880 -64.1190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9920 6.1710 -63.6380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7640 6.8580 -63.5570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5920 8.7220 -62.8810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3570 7.0100 -63.7960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5490 6.2370 -63.9810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4920 4.2910 -64.9040 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3460 8.2270 -63.2600 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 1 2 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 3 1 0\\\\\\\\n 10 2 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 7 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 9 1 0\\\\\\\\n 12 8 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":140,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2ccc(F)cc12\\\\\\",\\\\\\"cmpd_id\\\\\\":47,\\\\\\"prot_id\\\\\\":140,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1213_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1213_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4830 8.5670 -62.8930 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7560 4.7170 -64.3380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0350 6.7430 -64.1740 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9370 5.4050 -63.8900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8330 6.6970 -63.4250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5630 7.3030 -63.3840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2630 9.1360 -62.8930 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5510 5.2950 -64.3310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4520 6.5980 -63.8440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.2000 7.3060 -63.7900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8310 3.4620 -64.7680 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0710 8.5670 -63.3450 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 2 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 12 10 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":145,\\\\\\"smiles\\\\\\":\\\\\\"CSc1nc(C(F)(F)F)cc(=O)n1C\\\\\\",\\\\\\"cmpd_id\\\\\\":48,\\\\\\"prot_id\\\\\\":145,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1214_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1214_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.2670 6.0130 -64.1270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3960 6.1310 -63.2310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0390 6.6880 -64.3750 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5710 6.4240 -63.7360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9640 4.6190 -64.5810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8300 8.5650 -63.2400 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2090 9.9150 -62.6490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5480 8.3260 -63.5890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1840 6.9950 -64.0590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0280 9.7010 -61.5970 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1750 10.6450 -62.1940 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9270 10.7300 -63.5010 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8770 7.6470 -63.3060 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9100 5.2840 -63.7950 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 10 1 0\\\\\\\\n 8 6 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 9 3 2 0\\\\\\\\n 11 7 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 13 4 2 0\\\\\\\\n 14 4 1 0\\\\\\\\n 14 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":224.02,\\\\\\"logp\\\\\\":1.52,\\\\\\"tpsa\\\\\\":34.89,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":78}]},\\\\\\"1352\\\\\\":{\\\\\\"count\\\\\\":35,\\\\\\"next\\\\\\":null,\\\\\\"previous\\\\\\":null,\\\\\\"results\\\\\\":[{\\\\\\"id\\\\\\":4,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CCO[C@@H]1C(=O)Nc1cnns1\\\\\\",\\\\\\"cmpd_id\\\\\\":1,\\\\\\"prot_id\\\\\\":4,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0114_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0114_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.9370 -14.9630 -5.2050 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.3090 -15.1220 -7.3410 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4140 -16.4090 -8.5600 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7280 -14.9010 -7.8310 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8080 -14.8890 -9.3460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5830 -16.1920 -9.6650 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6340 -16.1050 -7.4390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4820 -15.8460 -6.1670 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4640 -14.6290 -4.0390 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9550 -13.7600 -3.1310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7160 -13.7720 -1.9770 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.6820 -14.5430 -1.9770 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.5910 -16.3890 -6.0420 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.8740 -15.4220 -3.4110 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 6\\\\\\\\n 5 4 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 8 1 1\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 12 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":213.06,\\\\\\"logp\\\\\\":0.9,\\\\\\"tpsa\\\\\\":64.11,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":7,\\\\\\"smiles\\\\\\":\\\\\\"CN1CCN(C(=O)c2ccc(F)c(F)c2)CC1\\\\\\",\\\\\\"cmpd_id\\\\\\":3,\\\\\\"prot_id\\\\\\":7,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0158_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0158_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 17 18 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -20.2570 -18.0960 -5.1170 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3640 -19.1460 -5.7230 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.5800 -14.5870 -1.9400 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.9780 -17.9110 -3.6400 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7070 -12.1480 -3.5830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9360 -12.7630 -3.3060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.2750 -16.4450 -3.2280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0680 -15.9050 -5.3530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.2140 -16.7920 -5.9080 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3850 -14.7380 -3.1440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1340 -14.0920 -3.6890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1240 -14.7870 -4.4070 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.8980 -14.1550 -4.6970 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6800 -12.8320 -4.2510 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.4990 -12.2220 -4.3600 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4860 -10.9150 -3.2190 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3360 -15.4890 -3.9400 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 4 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 12 1 0\\\\\\\\n 14 13 2 0\\\\\\\\n 14 5 1 0\\\\\\\\n 15 14 1 0\\\\\\\\n 16 5 1 0\\\\\\\\n 17 7 1 0\\\\\\\\n 17 10 1 0\\\\\\\\n 17 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":240.11,\\\\\\"logp\\\\\\":1.35,\\\\\\"tpsa\\\\\\":23.55,\\\\\\"ha\\\\\\":17,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":92},{\\\\\\"id\\\\\\":9,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CO[C@H](C)CN1C(=O)c1cnsn1\\\\\\",\\\\\\"cmpd_id\\\\\\":4,\\\\\\"prot_id\\\\\\":9,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0169_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0169_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.0680 -15.1770 -6.2510 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.0530 -16.0930 -5.0590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.9140 -17.2850 -6.8480 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.8130 -16.9120 -5.4560 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5020 -16.1150 -5.1580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2240 -15.7270 -7.6450 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1760 -16.8230 -7.8750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.6610 -16.2790 -7.8020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5220 -13.9010 -6.0990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3940 -13.2440 -4.7720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4350 -13.2470 -3.7110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1570 -12.4980 -2.7090 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3670 -12.5060 -4.5080 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0590 -13.2760 -7.0720 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6790 -11.8180 -3.0350 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 3 1 0\\\\\\\\n 4 2 1 6\\\\\\\\n 5 4 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 7 1 1\\\\\\\\n 8 3 1 0\\\\\\\\n 8 6 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 12 1 0\\\\\\\\n 15 13 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":227.07,\\\\\\"logp\\\\\\":0.79,\\\\\\"tpsa\\\\\\":55.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":12,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nc(C(=O)N2CCCC2)c(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":5,\\\\\\"prot_id\\\\\\":12,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0171_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0171_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -14.9500 -12.7400 -5.2630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.2350 -11.2220 -3.5410 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8760 -13.5450 -7.8100 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1170 -12.2200 -4.0890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9390 -13.6850 -5.4970 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9410 -14.3040 -6.8270 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6560 -16.6860 -5.9360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1710 -17.9240 -6.6970 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4200 -17.6750 -8.1870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1420 -16.3190 -8.2940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8460 -13.8720 -4.4690 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9810 -14.7990 -4.4000 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8880 -15.6700 -6.9840 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4680 -12.8220 -3.1690 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 12 11 1 0\\\\\\\\n 13 7 1 0\\\\\\\\n 13 10 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 14 11 1 0\\\\\\\\n 14 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.08,\\\\\\"logp\\\\\\":2,\\\\\\"tpsa\\\\\\":33.2,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":18,\\\\\\"smiles\\\\\\":\\\\\\"CN(C[C@H]1CCOC1)c1ncncc1Cl\\\\\\",\\\\\\"cmpd_id\\\\\\":6,\\\\\\"prot_id\\\\\\":18,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0176_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0176_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.3250 -15.2820 -5.7280 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1590 -14.8970 -6.5200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.1020 -15.9210 -9.0160 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9070 -16.6390 -6.0720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4930 -16.8210 -7.5080 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.8090 -17.6460 -7.5090 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3760 -17.2870 -8.8580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9310 -15.5550 -8.2630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8460 -14.4950 -4.6790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.5720 -14.2820 -3.0840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8120 -12.8350 -2.9160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1980 -13.3920 -4.0280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0840 -14.9180 -4.1680 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9920 -13.2530 -2.4160 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.7280 -12.6230 -4.4280 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 1\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 5 1 0\\\\\\\\n 8 3 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 12 11 1 0\\\\\\\\n 12 9 2 0\\\\\\\\n 13 10 2 0\\\\\\\\n 13 9 1 0\\\\\\\\n 14 11 2 0\\\\\\\\n 14 10 1 0\\\\\\\\n 15 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":227.08,\\\\\\"logp\\\\\\":1.6,\\\\\\"tpsa\\\\\\":38.25,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":19,\\\\\\"smiles\\\\\\":\\\\\\"CCNC(=O)c1c[nH]nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":7,\\\\\\"prot_id\\\\\\":19,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0177_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0177_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -15.5240 -11.9460 -3.1990 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.0650 -11.5680 -3.2100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2090 -13.2060 -5.0700 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.4370 -10.9900 -3.5220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8190 -12.9950 -4.0150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9100 -13.8590 -3.5900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4490 -14.9140 -4.3300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.4440 -15.4050 -3.5440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.5180 -14.6770 -2.3510 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.6180 -13.7550 -2.3650 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 3 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 6 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":140.07,\\\\\\"logp\\\\\\":-0.45,\\\\\\"tpsa\\\\\\":70.67,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":2,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":21,\\\\\\"smiles\\\\\\":\\\\\\"COC(=O)CNC(=O)c1cc(C)on1\\\\\\",\\\\\\"cmpd_id\\\\\\":8,\\\\\\"prot_id\\\\\\":21,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0244_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0244_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -18.7290 -15.5120 -4.1250 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.5320 -19.9750 -3.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.0770 -18.6530 -2.9840 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.8320 -17.7030 -3.9620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.9480 -16.2230 -3.6520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0490 -14.6110 -3.3010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8570 -13.9560 -3.8370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0940 -12.9420 -3.1580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1000 -12.6360 -4.0320 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.9640 -11.7140 -3.9830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3080 -14.2050 -5.0380 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.5190 -18.1280 -5.0640 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3950 -14.3520 -2.1700 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2380 -13.4010 -5.1670 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 2 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 7 2 0\\\\\\\\n 12 4 2 0\\\\\\\\n 13 6 2 0\\\\\\\\n 14 11 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":198.06,\\\\\\"logp\\\\\\":-0.11,\\\\\\"tpsa\\\\\\":81.43,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":26,\\\\\\"smiles\\\\\\":\\\\\\"c1nc(N2CCC2)c2[nH]cnc2n1\\\\\\",\\\\\\"cmpd_id\\\\\\":10,\\\\\\"prot_id\\\\\\":26,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0262_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0262_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.2260 -15.1970 -6.0650 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8490 -16.0010 -7.9420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3030 -14.7790 -7.1470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0370 -16.1490 -6.9240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6620 -14.5640 -4.9150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0100 -14.4330 -3.0370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2840 -12.9240 -3.1440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6270 -11.7190 -3.8750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9170 -13.4700 -4.4030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7250 -15.0510 -4.2270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3550 -13.4150 -2.4380 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4410 -11.8190 -2.8410 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.8770 -12.6780 -4.8360 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 9 5 2 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 10 5 1 0\\\\\\\\n 11 6 1 0\\\\\\\\n 11 7 2 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":175.09,\\\\\\"logp\\\\\\":0.56,\\\\\\"tpsa\\\\\\":57.7,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":28,\\\\\\"smiles\\\\\\":\\\\\\"Cc1cccc(Nc2ncnc3c2cnn3C)c1\\\\\\",\\\\\\"cmpd_id\\\\\\":11,\\\\\\"prot_id\\\\\\":28,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0286_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0286_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 18 20 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -18.3660 -16.1300 -5.3680 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.8050 -17.7080 -9.8750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.8700 -17.7820 -8.4130 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4010 -14.1550 -3.1620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9480 -14.3860 -4.4830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0280 -16.9630 -7.6260 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.7670 -18.6910 -7.8390 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.8300 -18.7990 -6.4690 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.0160 -18.0030 -5.6520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0980 -17.0580 -6.2150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3350 -15.1670 -5.5920 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5820 -14.1130 -6.8430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8500 -13.4850 -4.6890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.7860 -11.7110 -3.3370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6190 -14.9980 -6.7750 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.0910 -13.3080 -5.8680 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7340 -12.7890 -3.5230 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6530 -13.1850 -2.5970 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 6 1 0\\\\\\\\n 10 1 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 11 1 1 0\\\\\\\\n 13 5 1 0\\\\\\\\n 15 11 1 0\\\\\\\\n 15 12 2 0\\\\\\\\n 16 12 1 0\\\\\\\\n 16 13 2 0\\\\\\\\n 17 14 1 0\\\\\\\\n 17 13 1 0\\\\\\\\n 18 4 2 0\\\\\\\\n 18 17 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":239.12,\\\\\\"logp\\\\\\":2.42,\\\\\\"tpsa\\\\\\":55.63,\\\\\\"ha\\\\\\":18,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":90},{\\\\\\"id\\\\\\":32,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)N(C)c1ncnc2c1cnn2C\\\\\\",\\\\\\"cmpd_id\\\\\\":12,\\\\\\"prot_id\\\\\\":32,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0299_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0299_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -19.3060 -16.1380 -5.7950 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.0030 -18.4730 -6.7020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.5820 -17.0110 -7.0460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.6340 -16.3810 -7.9450 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.1120 -16.3290 -4.5830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1120 -15.2720 -5.7620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2070 -14.3500 -6.9020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5870 -13.6430 -4.7810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3990 -11.9530 -3.3430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.2130 -14.1680 -3.2690 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7530 -14.4700 -4.6170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3030 -15.1910 -6.9060 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7780 -13.5520 -5.9050 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4440 -12.9460 -3.6070 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4110 -13.2630 -2.7000 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 11 6 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 8 1 0\\\\\\\\n 12 6 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 13 7 1 0\\\\\\\\n 14 8 1 0\\\\\\\\n 14 9 1 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 10 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.21,\\\\\\"tpsa\\\\\\":46.84,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":36,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nsc(N2CCO[C@@H](C)[C@H]2C)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":13,\\\\\\"prot_id\\\\\\":36,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0319_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0319_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.8590 -15.2600 -5.7220 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.6700 -17.2770 -7.5620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.9420 -15.9130 -8.3700 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.9310 -15.9300 -7.3270 C 0 0 2 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5960 -16.1730 -8.0210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1060 -15.1300 -7.0100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3790 -15.6430 -5.8150 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.6660 -16.7700 -4.8110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4580 -14.3720 -4.7020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3240 -12.8570 -3.5040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2200 -11.9040 -3.3060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4000 -13.5410 -4.7330 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2240 -13.0950 -2.5790 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3080 -14.2490 -3.1520 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 4 3 1 0\\\\\\\\n 5 3 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 7 8 1 1\\\\\\\\n 9 1 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 9 2 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 13 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":213.09,\\\\\\"logp\\\\\\":1.46,\\\\\\"tpsa\\\\\\":38.25,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":78},{\\\\\\"id\\\\\\":40,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)C(=O)Nc1nnn(C)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":14,\\\\\\"prot_id\\\\\\":40,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0320_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0320_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 12 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.2010 -15.2390 -5.5430 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0380 -16.9270 -8.7600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6980 -14.5970 -7.1650 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1300 -16.5010 -7.7390 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.4170 -16.0410 -8.4470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5820 -15.3550 -6.8260 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8520 -14.2900 -4.5940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.9070 -11.6410 -3.3160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4430 -14.1420 -3.3120 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8340 -13.1740 -2.7510 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8770 -12.6980 -3.5930 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8460 -13.3480 -4.7630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 8 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 12 11 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":169.1,\\\\\\"logp\\\\\\":-0.2,\\\\\\"tpsa\\\\\\":72.7,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":44,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nsc(N2CCCNCC2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":15,\\\\\\"prot_id\\\\\\":44,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0333_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0333_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.8680 -12.9780 -2.6270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.8510 -11.8120 -3.3940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9680 -12.7550 -3.5650 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0940 -14.2750 -4.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.9980 -15.3830 -5.8750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3800 -16.8340 -6.0610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2820 -17.2240 -7.5370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3440 -15.8070 -8.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6850 -15.1360 -7.0240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0280 -13.4470 -4.7870 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5050 -15.1080 -5.7540 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8680 -17.1460 -7.9450 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9590 -14.1440 -3.1680 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 1 2 0\\\\\\\\n 3 2 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 4 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 9 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 4 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 13 4 1 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":198.09,\\\\\\"logp\\\\\\":0.65,\\\\\\"tpsa\\\\\\":41.05,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":48,\\\\\\"smiles\\\\\\":\\\\\\"CCN(CC)c1cc(C)nc2ncnn12\\\\\\",\\\\\\"cmpd_id\\\\\\":16,\\\\\\"prot_id\\\\\\":48,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0339_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0339_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.7670 -15.5570 -6.3840 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6170 -15.4750 -7.4460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0250 -14.9310 -7.4920 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4090 -16.9050 -6.7080 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.7890 -16.8780 -7.3850 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8680 -14.9410 -5.0890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0090 -13.8920 -4.7320 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0890 -13.2440 -3.4840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1170 -12.1500 -3.2370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8490 -14.6040 -2.8760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3700 -16.1640 -2.9720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9710 -13.5580 -2.5340 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.8450 -15.1770 -2.1510 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.7750 -16.2670 -4.1740 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8080 -15.2920 -4.1220 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 1 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 13 11 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 11 2 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 10 1 0\\\\\\\\n 15 6 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.28,\\\\\\"tpsa\\\\\\":46.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":50,\\\\\\"smiles\\\\\\":\\\\\\"CC(=O)N1CCC[C@@H](C(N)=O)C1\\\\\\",\\\\\\"cmpd_id\\\\\\":17,\\\\\\"prot_id\\\\\\":50,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0392_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0392_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 12 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.0950 -15.6720 -6.0330 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8660 -15.9330 -8.5380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0910 -14.0360 -7.2850 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6550 -15.1390 -7.2620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1560 -16.7420 -5.8750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.4280 -16.2010 -5.1730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0310 -15.4640 -3.8730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9640 -14.3810 -4.1850 C 0 0 2 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.7300 -15.0380 -4.7800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4570 -13.6790 -2.9590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7220 -14.2310 -1.7700 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8120 -12.6360 -3.0080 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 10 1 1\\\\\\\\n 9 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 10 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":170.11,\\\\\\"logp\\\\\\":-0.27,\\\\\\"tpsa\\\\\\":63.4,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":68},{\\\\\\"id\\\\\\":53,\\\\\\"smiles\\\\\\":\\\\\\"CNC(=O)c1cnc(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":19,\\\\\\"prot_id\\\\\\":53,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0412_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0412_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -19.2680 -15.9320 -4.0390 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2560 -16.3200 -5.4710 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.6170 -14.8980 -2.1430 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3960 -15.0520 -3.3360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2530 -14.3040 -3.9040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6260 -14.4010 -5.1250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4610 -12.7210 -4.2210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.4650 -11.6570 -4.0500 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5870 -13.4760 -5.3100 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5320 -13.0500 -2.9490 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 9 7 2 0\\\\\\\\n 10 5 1 0\\\\\\\\n 10 7 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":156.04,\\\\\\"logp\\\\\\":0.81,\\\\\\"tpsa\\\\\\":41.99,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":55,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)c1ncc(Cl)c(C(N)=O)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":20,\\\\\\"prot_id\\\\\\":55,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0463_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0463_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.1150 -16.4160 -5.9750 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9280 -15.0330 -8.2160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.6040 -14.0710 -1.6170 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1540 -15.3160 -6.9220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.1140 -14.2390 -6.6480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1780 -15.4400 -5.7960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1230 -16.5220 -5.0720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.2040 -15.6920 -3.9840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1630 -14.7270 -3.8370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0580 -13.8300 -2.6740 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1490 -14.5800 -4.7340 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3020 -12.7330 -2.8500 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.4980 -15.9040 -2.9710 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 6 4 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 9 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":199.05,\\\\\\"logp\\\\\\":1.35,\\\\\\"tpsa\\\\\\":68.87,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":70},{\\\\\\"id\\\\\\":62,\\\\\\"smiles\\\\\\":\\\\\\"NC(=O)N1CCN(C(=O)c2ccco2)CC1\\\\\\",\\\\\\"cmpd_id\\\\\\":22,\\\\\\"prot_id\\\\\\":62,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0525_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0525_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -20.0060 -18.8210 -6.9880 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.9700 -18.7020 -5.6140 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.3640 -19.6360 -4.8830 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.3390 -16.6390 -4.2910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.5370 -15.8020 -3.3150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8590 -15.4320 -5.2740 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.7080 -16.5160 -6.0170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7290 -14.1650 -3.0150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5620 -13.3590 -3.4010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5250 -13.4820 -4.3050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6910 -12.3260 -4.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2590 -11.6100 -3.1240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.4420 -17.4220 -5.0920 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3790 -15.0400 -3.9010 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1510 -14.0480 -1.8590 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4080 -12.2190 -2.6760 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 3 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 7 1 0\\\\\\\\n 13 2 1 0\\\\\\\\n 13 4 1 0\\\\\\\\n 14 8 1 0\\\\\\\\n 14 6 1 0\\\\\\\\n 14 5 1 0\\\\\\\\n 15 8 2 0\\\\\\\\n 16 9 1 0\\\\\\\\n 16 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":223.1,\\\\\\"logp\\\\\\":0.12,\\\\\\"tpsa\\\\\\":79.78,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":86},{\\\\\\"id\\\\\\":68,\\\\\\"smiles\\\\\\":\\\\\\"Cc1n[nH]c(C)c1S(=O)(=O)N(C)C\\\\\\",\\\\\\"cmpd_id\\\\\\":24,\\\\\\"prot_id\\\\\\":68,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0552_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0552_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -14.6300 -14.8860 -5.7800 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6060 -16.2410 -5.2360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6510 -13.0150 -7.0660 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.3270 -14.2390 -5.8640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3870 -13.5980 -4.7040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4250 -14.0900 -3.7900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3820 -15.2010 -3.9590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7790 -12.5620 -3.9640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6410 -11.6900 -4.2620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4210 -13.3890 -2.6530 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4170 -12.4790 -2.7900 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8710 -15.0770 -6.7170 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9780 -14.1060 -6.2080 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 5 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 8 1 0\\\\\\\\n 13 12 2 0\\\\\\\\n 13 5 1 0\\\\\\\\n 13 3 2 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":203.07,\\\\\\"logp\\\\\\":0.28,\\\\\\"tpsa\\\\\\":66.06,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":74},{\\\\\\"id\\\\\\":69,\\\\\\"smiles\\\\\\":\\\\\\"Cc1n[nH]c(C)c1-c1ccccc1N\\\\\\",\\\\\\"cmpd_id\\\\\\":25,\\\\\\"prot_id\\\\\\":69,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0554_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0554_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -15.2910 -15.2460 -7.5360 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5600 -16.3680 -5.3180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6200 -15.2040 -6.2110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6760 -12.4580 -3.7940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8950 -13.1120 -6.9880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1540 -11.6730 -7.1630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0060 -13.8810 -5.8420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4420 -13.4040 -4.5570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7050 -13.8030 -4.1010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.2400 -13.2590 -2.9310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4990 -12.3130 -2.2120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2340 -11.9190 -2.6230 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4630 -13.9730 -7.9890 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.4020 -12.0500 -4.1440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 5 2 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 4 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 12 4 1 0\\\\\\\\n 13 5 1 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":187.11,\\\\\\"logp\\\\\\":2.28,\\\\\\"tpsa\\\\\\":54.7,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":2,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":71,\\\\\\"smiles\\\\\\":\\\\\\"c1csc(-c2nnc[nH]2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":26,\\\\\\"prot_id\\\\\\":71,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0574_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0574_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.3600 -15.5450 -5.2470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.4450 -16.4590 -5.3330 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3420 -16.4070 -4.3070 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5170 -14.8260 -4.1340 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6560 -13.7680 -3.7840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.0340 -12.3060 -3.8910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.7870 -12.9200 -2.7480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7980 -12.0480 -2.8270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5560 -13.4130 -4.5230 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.8900 -15.1990 -3.1740 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 3 2 2 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 7 5 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 6 2 0\\\\\\\\n 9 5 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 3 1 0\\\\\\\\n 10 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":152.02,\\\\\\"logp\\\\\\":0.93,\\\\\\"tpsa\\\\\\":54.46,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":50},{\\\\\\"id\\\\\\":75,\\\\\\"smiles\\\\\\":\\\\\\"CNc1ncccn1\\\\\\",\\\\\\"cmpd_id\\\\\\":27,\\\\\\"prot_id\\\\\\":75,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0600_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0600_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 8 8 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -15.1680 -12.1270 -3.0110 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.9760 -11.6770 -3.7200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9680 -13.1960 -3.3580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8630 -14.4900 -2.9410 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.6560 -15.2480 -4.1000 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5140 -14.9030 -4.8640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0680 -13.4670 -2.5350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6630 -13.8970 -4.5160 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 2 0\\\\\\\\n 8 6 2 0\\\\\\\\n 8 3 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":109.06,\\\\\\"logp\\\\\\":0.52,\\\\\\"tpsa\\\\\\":37.81,\\\\\\"ha\\\\\\":8,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":42},{\\\\\\"id\\\\\\":78,\\\\\\"smiles\\\\\\":\\\\\\"CCNC(=O)N1CCN(C(C)=O)CC1\\\\\\",\\\\\\"cmpd_id\\\\\\":29,\\\\\\"prot_id\\\\\\":78,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0627_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0627_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -21.8470 -16.1210 -6.7490 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -22.8460 -18.3430 -7.2860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.9350 -16.3910 -8.0610 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -22.7860 -16.8400 -7.6310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.4500 -16.1270 -6.9670 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.4180 -14.9260 -5.9520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2990 -15.3670 -5.0640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.1120 -15.7930 -3.3460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.8010 -16.5200 -4.5190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3360 -14.0650 -2.8470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2660 -13.0530 -3.1670 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.6710 -15.7480 -5.7840 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7920 -15.0960 -3.7080 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8500 -14.0390 -1.7530 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 5 3 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 9 1 0\\\\\\\\n 12 6 1 0\\\\\\\\n 12 5 1 0\\\\\\\\n 13 10 1 0\\\\\\\\n 13 8 1 0\\\\\\\\n 13 7 1 0\\\\\\\\n 14 10 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":199.13,\\\\\\"logp\\\\\\":-0.12,\\\\\\"tpsa\\\\\\":52.65,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":82,\\\\\\"smiles\\\\\\":\\\\\\"CCNc1ccc(C)nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":30,\\\\\\"prot_id\\\\\\":82,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0637_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0637_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.2710 -12.6970 -2.9590 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.3160 -11.3160 -3.5820 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3920 -12.2530 -4.0590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1860 -13.7140 -3.1330 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3500 -14.4540 -4.3340 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3770 -15.3930 -4.3930 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2110 -15.5830 -3.2880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.2940 -16.6200 -3.2660 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0270 -14.8480 -2.1760 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0610 -13.9660 -2.0770 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":137.1,\\\\\\"logp\\\\\\":1.22,\\\\\\"tpsa\\\\\\":37.81,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":86,\\\\\\"smiles\\\\\\":\\\\\\"Cn1cc(Oc2ncncc2Cl)cn1\\\\\\",\\\\\\"cmpd_id\\\\\\":32,\\\\\\"prot_id\\\\\\":86,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0673_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0673_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -15.3600 -16.4690 -8.3570 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9430 -16.9780 -9.6340 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.3890 -14.1440 -5.8270 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3010 -15.1430 -7.9150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6850 -15.2120 -6.6630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2280 -13.9110 -4.7570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1500 -14.5090 -3.5760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8970 -12.7200 -2.8280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.9930 -12.8790 -3.8740 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.3980 -16.5840 -6.4070 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3250 -14.7620 -4.6270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9850 -13.5040 -2.6470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.8190 -17.3420 -7.4570 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.6650 -11.8400 -3.9990 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 5 3 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 6 2 0\\\\\\\\n 10 5 1 0\\\\\\\\n 11 7 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 13 10 2 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.03,\\\\\\"logp\\\\\\":1.66,\\\\\\"tpsa\\\\\\":52.83,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":92,\\\\\\"smiles\\\\\\":\\\\\\"COc1ccc2cn[nH]c(=O)c2c1OC\\\\\\",\\\\\\"cmpd_id\\\\\\":34,\\\\\\"prot_id\\\\\\":92,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0685_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0685_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.2870 -13.3000 -2.6620 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3530 -17.8520 -8.0810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1020 -17.4970 -7.4520 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1320 -16.7010 -6.3180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0220 -17.0140 -5.2350 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0000 -16.2380 -4.0860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0960 -15.1550 -4.0010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0680 -14.3360 -2.8180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3100 -13.6290 -4.9050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2120 -14.8170 -5.0680 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2510 -15.6040 -6.2490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1560 -15.6960 -7.3730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4480 -12.9470 -3.6310 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5060 -13.1610 -5.7150 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5080 -15.2680 -7.4010 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 10 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 4 1 0\\\\\\\\n 11 10 2 0\\\\\\\\n 13 1 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 11 1 0\\\\\\\\n 15 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":206.07,\\\\\\"logp\\\\\\":0.94,\\\\\\"tpsa\\\\\\":64.21,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":78},{\\\\\\"id\\\\\\":94,\\\\\\"smiles\\\\\\":\\\\\\"Cn1cc(C(N)=O)c([C@@H]2CCCNC2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":35,\\\\\\"prot_id\\\\\\":94,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0692_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0692_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.7720 -13.4490 -3.5790 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1880 -12.2250 -3.1030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3320 -16.1750 -6.8970 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2850 -14.1580 -4.6290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0900 -15.2620 -4.7490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8700 -16.2700 -5.7610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1040 -15.1640 -3.6990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2560 -16.0880 -3.3410 C 0 0 2 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2650 -17.4510 -4.0690 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.3390 -18.3450 -3.4410 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -21.7150 -17.6720 -3.6020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.6080 -15.4470 -3.6590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0730 -17.3590 -5.4050 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8700 -14.0160 -2.9830 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -21.7420 -16.2560 -3.1590 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 3 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 5 1 0\\\\\\\\n 8 7 1 6\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 14 7 2 0\\\\\\\\n 14 1 1 0\\\\\\\\n 15 11 1 0\\\\\\\\n 15 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":208.13,\\\\\\"logp\\\\\\":-0.01,\\\\\\"tpsa\\\\\\":72.94,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":2,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":116,\\\\\\"smiles\\\\\\":\\\\\\"Nc1nccc(C(F)(F)F)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":41,\\\\\\"prot_id\\\\\\":116,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1072_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1072_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 11 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -15.9070 -13.4480 -4.8350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2780 -15.0640 -6.5530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6650 -14.4920 -5.2270 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2790 -12.9480 -3.5980 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0160 -14.4380 -3.3080 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7210 -15.0500 -4.5420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5510 -14.3040 -7.5530 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8610 -16.2570 -6.8350 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.9840 -15.2200 -6.5970 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5730 -11.9030 -3.1360 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3360 -13.4330 -2.8150 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 7 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 6 3 1 0\\\\\\\\n 8 2 1 0\\\\\\\\n 9 2 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 4 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":163.04,\\\\\\"logp\\\\\\":1.08,\\\\\\"tpsa\\\\\\":51.8,\\\\\\"ha\\\\\\":11,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":120,\\\\\\"smiles\\\\\\":\\\\\\"O=c1[nH]cnc2cc(F)ccc12\\\\\\",\\\\\\"cmpd_id\\\\\\":42,\\\\\\"prot_id\\\\\\":120,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1078_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1078_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -14.9000 -12.4540 -5.1300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1670 -15.3380 -6.8530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4420 -13.8400 -2.2650 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1000 -15.8920 -5.9170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2680 -15.2880 -4.7170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4220 -14.1940 -6.5980 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6150 -13.5970 -5.3590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.0980 -11.8620 -3.9750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5270 -14.1390 -4.4200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.7090 -13.4870 -3.1700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9850 -15.9480 -8.0110 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9670 -12.3280 -2.9920 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 2 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 9 5 2 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 12 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.06,\\\\\\"tpsa\\\\\\":45.75,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":124,\\\\\\"smiles\\\\\\":\\\\\\"Fc1cnc2[nH]ccc2c1\\\\\\",\\\\\\"cmpd_id\\\\\\":43,\\\\\\"prot_id\\\\\\":124,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1083_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1083_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.7410 -13.6180 -2.3720 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.2970 -15.2220 -4.1030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.5280 -14.5840 -2.8580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6940 -13.2730 -3.1650 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.8800 -12.2230 -4.0040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2520 -13.1680 -4.9410 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3960 -13.8480 -4.4280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2230 -14.8620 -4.9060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.1490 -16.1790 -4.4870 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7500 -12.2720 -2.9050 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 4 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 2 2 0\\\\\\\\n 9 2 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 10 5 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":136.04,\\\\\\"logp\\\\\\":1.7,\\\\\\"tpsa\\\\\\":28.68,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":1,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":50},{\\\\\\"id\\\\\\":127,\\\\\\"smiles\\\\\\":\\\\\\"FC(F)c1nnc2c(C(F)(F)F)cccn12\\\\\\",\\\\\\"cmpd_id\\\\\\":44,\\\\\\"prot_id\\\\\\":127,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1093_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1093_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.5910 -14.3090 -4.4190 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2730 -17.0190 -4.5780 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0900 -16.1360 -4.9960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3910 -16.2980 -6.1560 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2720 -15.4580 -6.4560 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8690 -14.4770 -5.5980 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.6990 -15.1140 -4.0870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4860 -13.4330 -3.3630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5230 -12.3290 -3.2490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.4040 -16.3530 -4.4500 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.1290 -17.6190 -3.3760 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5950 -11.6990 -4.4290 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.2570 -12.7620 -3.2430 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.5240 -18.0250 -5.4330 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1980 -14.6980 -2.8660 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4680 -13.7020 -2.4460 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 10 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 12 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 14 2 1 0\\\\\\\\n 15 7 2 0\\\\\\\\n 16 15 1 0\\\\\\\\n 16 8 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":237.03,\\\\\\"logp\\\\\\":2.69,\\\\\\"tpsa\\\\\\":30.19,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":86},{\\\\\\"id\\\\\\":131,\\\\\\"smiles\\\\\\":\\\\\\"N#Cc1c(C(F)(F)F)cn2ccnc2c1Cl\\\\\\",\\\\\\"cmpd_id\\\\\\":45,\\\\\\"prot_id\\\\\\":131,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1211_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1211_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.8450 -13.1430 -2.6260 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9920 -14.9020 -3.9330 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0210 -13.9640 -3.6880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7110 -12.4310 -2.9820 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2100 -12.7700 -4.2160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9690 -14.4410 -5.9120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9690 -15.3320 -6.1360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0620 -16.0300 -7.5160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9900 -15.5830 -5.1120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0160 -16.5680 -5.2580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3120 -17.3490 -7.4050 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9820 -15.6140 -8.3680 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9700 -15.8560 -8.2490 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0110 -13.7530 -4.7030 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.7980 -17.3780 -5.4260 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.1890 -15.1150 -2.7430 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 11 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 9 2 2 0\\\\\\\\n 10 9 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 13 8 1 0\\\\\\\\n 14 3 1 0\\\\\\\\n 14 6 1 0\\\\\\\\n 14 5 1 0\\\\\\\\n 15 10 3 0\\\\\\\\n 16 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":245,\\\\\\"logp\\\\\\":2.88,\\\\\\"tpsa\\\\\\":41.09,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":135,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2cccc(F)c12\\\\\\",\\\\\\"cmpd_id\\\\\\":46,\\\\\\"prot_id\\\\\\":135,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1212_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1212_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -14.9050 -12.6350 -5.1300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3740 -15.3690 -4.7550 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5800 -13.8480 -2.2790 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1640 -16.0470 -5.9180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1640 -15.5760 -6.8340 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4210 -14.4580 -6.5600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6420 -13.7720 -5.3490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1540 -11.9950 -3.9730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.7510 -13.4790 -3.2320 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6150 -14.2380 -4.4220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3820 -15.7180 -3.9860 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0560 -12.3700 -2.9740 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 1 2 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 3 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 2 1 0\\\\\\\\n 10 7 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 9 1 0\\\\\\\\n 12 8 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":139,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2ccc(F)cc12\\\\\\",\\\\\\"cmpd_id\\\\\\":47,\\\\\\"prot_id\\\\\\":139,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1213_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1213_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -14.7520 -12.7090 -5.1050 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2370 -15.9000 -5.9470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5660 -13.7520 -2.3440 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2230 -15.4770 -6.9220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3970 -14.4660 -6.5870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5490 -13.8210 -5.3110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.9850 -12.0380 -3.9850 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3840 -15.3140 -4.7030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5300 -14.2610 -4.4120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6570 -13.4820 -3.2540 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0550 -16.8920 -6.2900 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9200 -12.3880 -3.0260 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 2 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 12 7 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":144,\\\\\\"smiles\\\\\\":\\\\\\"CSc1nc(C(F)(F)F)cc(=O)n1C\\\\\\",\\\\\\"cmpd_id\\\\\\":48,\\\\\\"prot_id\\\\\\":144,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1214_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1214_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.4620 -14.6070 -4.3970 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1400 -14.7190 -7.8760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.2170 -14.1140 -2.3320 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4740 -14.3590 -5.3570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.6100 -15.5520 -4.6100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4350 -12.7960 -4.0810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.3100 -11.7710 -4.0240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3030 -12.9390 -3.0530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3910 -13.8880 -3.1770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.1870 -11.0860 -5.1780 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.4590 -10.8450 -3.0700 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.0830 -12.3340 -3.8700 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4850 -13.4980 -5.2440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4930 -15.2480 -6.8220 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 10 1 0\\\\\\\\n 8 6 2 0\\\\\\\\n 9 3 2 0\\\\\\\\n 9 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 11 7 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 4 2 0\\\\\\\\n 13 6 1 0\\\\\\\\n 14 4 1 0\\\\\\\\n 14 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":224.02,\\\\\\"logp\\\\\\":1.52,\\\\\\"tpsa\\\\\\":34.89,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":78}]}},\\\\\\"duck_yank_data\\\\\\":{},\\\\\\"pandda_event_list\\\\\\":[],\\\\\\"pandda_site_list\\\\\\":[],\\\\\\"mol_group_on\\\\\\":1349,\\\\\\"target_on\\\\\\":1,\\\\\\"target_on_name\\\\\\":\\\\\\"NUDT5A\\\\\\",\\\\\\"isFetching\\\\\\":false,\\\\\\"app_on\\\\\\":\\\\\\"PREVIEW\\\\\\",\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"hotspot_list\\\\\\":[],\\\\\\"savingState\\\\\\":\\\\\\"savingSession\\\\\\",\\\\\\"seshListSaving\\\\\\":false,\\\\\\"targetUnrecognised\\\\\\":false,\\\\\\"uuid\\\\\\":\\\\\\"UNSET\\\\\\",\\\\\\"sessionIdList\\\\\\":[],\\\\\\"latestSession\\\\\\":\\\\\\"f1b396af-87a6-4c59-8cb2-1eb37d08bc16\\\\\\"}},\\\\\\"nglReducers\\\\\\":{\\\\\\"present\\\\\\":{\\\\\\"objectsInView\\\\\\":{\\\\\\"MOLECULE-GROUP_1350\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1350\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-22.484894250297,28.3999801923385,-57.0342539559206],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"988340BA-EEEA-46B6-B4C0-627A38E3EE8C\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"988340BA-EEEA-46B6-B4C0-627A38E3EE8C\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1351\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1351\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-2.81695936344749,3.04520134701659,3.6844813876363],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"FCDC962A-01D1-4213-9A72-B312033FD6E1\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"FCDC962A-01D1-4213-9A72-B312033FD6E1\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1353\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1353\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-6.39705882352941,15.7078235294118,-24.2612352941176],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"48E9F28A-701E-40F7-9CC1-5C7DB0960526\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"48E9F28A-701E-40F7-9CC1-5C7DB0960526\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1354\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1354\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-52.3928823529412,9.81782352941177,-44.0535294117647],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"CA328D70-0F65-4457-9BF1-6B015A9FF083\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"CA328D70-0F65-4457-9BF1-6B015A9FF083\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1355\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1355\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[12.4376428571429,5.258,-4.62571428571429],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"78600ED4-50D4-4A86-8AAE-9157C087EC27\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"78600ED4-50D4-4A86-8AAE-9157C087EC27\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1356\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1356\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-10.4955049680239,-9.68024546470901,-8.32242130242049],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"8769B3E0-51D6-47EF-85FD-F0ED2758B157\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"8769B3E0-51D6-47EF-85FD-F0ED2758B157\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1357\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1357\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-8.16724968062983,2.81894853371173,-2.84670969915877],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"07BA9D97-22CD-45C1-A2E3-B4EDED5E2491\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"07BA9D97-22CD-45C1-A2E3-B4EDED5E2491\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1358\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1358\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-25.3682771564328,21.5258951736469,-52.7491056544548],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"01940046-20CD-4611-A2B5-8406C6C4A27A\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"01940046-20CD-4611-A2B5-8406C6C4A27A\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1359\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1359\\\\\\",\\\\\\"radius\\\\\\":4,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-33.276049496474,12.3248778435673,-59.8326882142243],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"981D71E4-AFF1-4062-9754-633A01B93CA7\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"981D71E4-AFF1-4062-9754-633A01B93CA7\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"261571BD-B0A4-4F22-85D7-42584B682868\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"261571BD-B0A4-4F22-85D7-42584B682868\\\\\\",\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1_MAIN\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1_MAIN\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"0304E408-8D37-47FF-B2D6-A3A9F7D3C9AA\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"0304E408-8D37-47FF-B2D6-A3A9F7D3C9AA\\\\\\",\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1352\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1352\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,1,0],\\\\\\"coords\\\\\\":[-17.04182333064,-14.5853546390328,-4.80279280511738],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"9C4D4B6D-6675-45E4-A90E-468C100BD303\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"9C4D4B6D-6675-45E4-A90E-468C100BD303\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1349\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1349\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,1,0],\\\\\\"coords\\\\\\":[-29.0779995245673,6.01491712123347,-63.9123385290991],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"8846AC82-3978-4F2D-9193-5E3B893DF5FE\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"8846AC82-3978-4F2D-9193-5E3B893DF5FE\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-32.12,1.42,-65.738],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"91011E15-6EB4-4F98-B437-E7E0E722091F\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"91011E15-6EB4-4F98-B437-E7E0E722091F\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-33.15092700313684,5.630176759848748,-64.8115775850715],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"799CAA2C-A28C-4A1A-B01B-4D586660E764\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"799CAA2C-A28C-4A1A-B01B-4D586660E764\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-34.34784883356808,4.82806297255051,-63.77178758873543],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"C294097C-52D1-4A7F-81DA-21B6E251C018\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"C294097C-52D1-4A7F-81DA-21B6E251C018\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.555187817847973,3.307572066651391,-66.2672872220088],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"B14DA26F-76E6-43B4-AEDC-FD6B86A9A971\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"B14DA26F-76E6-43B4-AEDC-FD6B86A9A971\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-31.49037262841551,2.428873005958751,-63.348212409286845],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"D98126E9-8E88-47EB-8B63-A9D5151847D0\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"D98126E9-8E88-47EB-8B63-A9D5151847D0\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-28.109,7.031,-63.742],\\\\\\"end\\\\\\":[-28.795814336938214,7.757694676443554,-63.28352326797892],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"F08D6D6A-5223-4C6D-BDA2-31939916019C\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"F08D6D6A-5223-4C6D-BDA2-31939916019C\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-33.83188550795935,3.9895103567263064,-66.35925995565532],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"0298BC2E-D4D8-46C2-AF24-A772CC7469A1\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"0298BC2E-D4D8-46C2-AF24-A772CC7469A1\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-34.356827212237505,2.8487217682243586,-65.13648845293089],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"E7F54475-C590-41F0-8EC6-7F4BDAE81DA7\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"E7F54475-C590-41F0-8EC6-7F4BDAE81DA7\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-30.064,3.756,-64.27],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"175C3AF3-AF77-412E-952E-34A35F0F1038\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"175C3AF3-AF77-412E-952E-34A35F0F1038\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[Xe].O=C([Xe])Nc1cnns1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[Xe].O=C([Xe])Nc1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.53,3.284,-64.039],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"2A55BDCC-489E-4C81-B06C-9A1C6B93B4F9\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"2A55BDCC-489E-4C81-B06C-9A1C6B93B4F9\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE_3\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE_3\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"MOLECULE\\\\\\",\\\\\\"colour\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"LIGAND\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"915A00D2-DFFE-4F61-8048-6D65ACADD1AC\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"915A00D2-DFFE-4F61-8048-6D65ACADD1AC\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ball+stick\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"sphereDetail\\\\\\":1,\\\\\\"radialSegments\\\\\\":10,\\\\\\"openEnded\\\\\\":true,\\\\\\"disableImpostor\\\\\\":false,\\\\\\"aspectRatio\\\\\\":2,\\\\\\"lineOnly\\\\\\":false,\\\\\\"cylinderOnly\\\\\\":false,\\\\\\"multipleBond\\\\\\":true,\\\\\\"bondScale\\\\\\":0.4,\\\\\\"bondSpacing\\\\\\":1,\\\\\\"linewidth\\\\\\":2,\\\\\\"radiusType\\\\\\":\\\\\\"size\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":0.15,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"sphereDetail\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":3,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":25,\\\\\\"min\\\\\\":5,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"openEnded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disableImpostor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1},\\\\\\"lineOnly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"cylinderOnly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"multipleBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"symmetric\\\\\\":\\\\\\"symmetric\\\\\\",\\\\\\"offset\\\\\\":\\\\\\"offset\\\\\\"}},\\\\\\"bondScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.01},\\\\\\"bondSpacing\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.5},\\\\\\"linewidth\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"NUDT5A-x0114_3_COMP\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"NUDT5A-x0114_3_COMP\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"COMPLEX\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"colour\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_3_apo.pdb\\\\\\",\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"COMPLEX\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"427A918A-A87C-48E8-B9F3-E1CDE1E17BEF\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"427A918A-A87C-48E8-B9F3-E1CDE1E17BEF\\\\\\",\\\\\\"type\\\\\\":\\\\\\"line\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"multipleBond\\\\\\":\\\\\\"off\\\\\\",\\\\\\"bondSpacing\\\\\\":1,\\\\\\"linewidth\\\\\\":2,\\\\\\"lines\\\\\\":true,\\\\\\"crosses\\\\\\":\\\\\\"lone\\\\\\",\\\\\\"crossSize\\\\\\":0.4,\\\\\\"radiusType\\\\\\":\\\\\\"vdw\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"/0\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"multipleBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"symmetric\\\\\\":\\\\\\"symmetric\\\\\\",\\\\\\"offset\\\\\\":\\\\\\"offset\\\\\\"}},\\\\\\"bondSpacing\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.5},\\\\\\"linewidth\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"lines\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"crosses\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"lone\\\\\\":\\\\\\"lone\\\\\\",\\\\\\"all\\\\\\":\\\\\\"all\\\\\\"}},\\\\\\"crossSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.1},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":null,\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":null,\\\\\\"wireframe\\\\\\":null,\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":null,\\\\\\"metalness\\\\\\":null,\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}},{\\\\\\"lastKnownID\\\\\\":\\\\\\"D5414BEE-A683-44DC-BFC2-FB218533F1EF\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"D5414BEE-A683-44DC-BFC2-FB218533F1EF\\\\\\",\\\\\\"type\\\\\\":\\\\\\"contact\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"hydrogenBond\\\\\\":true,\\\\\\"weakHydrogenBond\\\\\\":true,\\\\\\"waterHydrogenBond\\\\\\":false,\\\\\\"backboneHydrogenBond\\\\\\":false,\\\\\\"hydrophobic\\\\\\":false,\\\\\\"halogenBond\\\\\\":true,\\\\\\"ionicInteraction\\\\\\":true,\\\\\\"metalCoordination\\\\\\":true,\\\\\\"cationPi\\\\\\":true,\\\\\\"piStacking\\\\\\":true,\\\\\\"filterSele\\\\\\":\\\\\\"\\\\\\",\\\\\\"labelVisible\\\\\\":false,\\\\\\"labelFixedSize\\\\\\":false,\\\\\\"labelSize\\\\\\":2,\\\\\\"labelUnit\\\\\\":\\\\\\"\\\\\\",\\\\\\"maxHydrophobicDist\\\\\\":4,\\\\\\"maxHbondDist\\\\\\":3.5,\\\\\\"maxHbondSulfurDist\\\\\\":4.1,\\\\\\"maxHbondAccAngle\\\\\\":45,\\\\\\"maxHbondDonAngle\\\\\\":45,\\\\\\"maxHbondAccPlaneAngle\\\\\\":90,\\\\\\"maxHbondDonPlaneAngle\\\\\\":35,\\\\\\"maxPiStackingDist\\\\\\":5.5,\\\\\\"maxPiStackingOffset\\\\\\":2,\\\\\\"maxPiStackingAngle\\\\\\":30,\\\\\\"maxCationPiDist\\\\\\":6,\\\\\\"maxCationPiOffset\\\\\\":2,\\\\\\"maxIonicDist\\\\\\":5,\\\\\\"maxHalogenBondDist\\\\\\":3.5,\\\\\\"maxHalogenBondAngle\\\\\\":30,\\\\\\"maxMetalDist\\\\\\":3,\\\\\\"refineSaltBridges\\\\\\":true,\\\\\\"masterModelIndex\\\\\\":0,\\\\\\"lineOfSightDistFactor\\\\\\":1,\\\\\\"radialSegments\\\\\\":10,\\\\\\"disableImpostor\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"vdw\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":0.05,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"/0 or /1\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"hydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"weakHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"waterHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"backboneHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"hydrophobic\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"halogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"ionicInteraction\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"metalCoordination\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"cationPi\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"piStacking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"filterSele\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"text\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"labelVisible\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"labelFixedSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":\\\\\\"fixedSize\\\\\\"},\\\\\\"labelSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001,\\\\\\"rebuild\\\\\\":true},\\\\\\"labelUnit\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"angstrom\\\\\\":\\\\\\"angstrom\\\\\\",\\\\\\"nm\\\\\\":\\\\\\"nm\\\\\\"}},\\\\\\"maxHydrophobicDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondSulfurDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondAccAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDonAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondAccPlaneAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":90,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDonPlaneAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":90,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingOffset\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxCationPiDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxCationPiOffset\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxIonicDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHalogenBondDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHalogenBondAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxMetalDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"refineSaltBridges\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"masterModelIndex\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":-1,\\\\\\"rebuild\\\\\\":true},\\\\\\"lineOfSightDistFactor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":25,\\\\\\"min\\\\\\":5,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"disableImpostor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]}},\\\\\\"nglOrientations\\\\\\":{\\\\\\"summary_view\\\\\\":{\\\\\\"elements\\\\\\":[148.09238881012894,13.507533911039106,29.332631971841778,0,9.275195682527986,114.08403454115407,-99.36305249994771,0,-30.93262865978577,98.87665035132754,110.63811682119734,0,29.0779995245673,-6.01491712123347,63.9123385290991,1]},\\\\\\"major_view\\\\\\":{\\\\\\"elements\\\\\\":[35.87197679035059,0,0,0,0,35.87197679035059,0,0,0,0,35.87197679035059,0,29.839500427246094,-4.364000022411346,64.59249877929688,1]}},\\\\\\"viewParams\\\\\\":{\\\\\\"backgroundColor\\\\\\":\\\\\\"black\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipFar\\\\\\":100,\\\\\\"clipDist\\\\\\":10,\\\\\\"fogNear\\\\\\":50,\\\\\\"fogFar\\\\\\":100},\\\\\\"defaultScene\\\\\\":{\\\\\\"objectsInView\\\\\\":{\\\\\\"MOLECULE-GROUP_1349\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1349\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-29.0779995245673,6.01491712123347,-63.9123385290991],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1350\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1350\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-22.484894250297,28.3999801923385,-57.0342539559206],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1351\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1351\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-2.81695936344749,3.04520134701659,3.6844813876363],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1352\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1352\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-17.04182333064,-14.5853546390328,-4.80279280511738],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1353\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1353\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-6.39705882352941,15.7078235294118,-24.2612352941176],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1354\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1354\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-52.3928823529412,9.81782352941177,-44.0535294117647],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1355\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1355\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[12.4376428571429,5.258,-4.62571428571429],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1356\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1356\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-10.4955049680239,-9.68024546470901,-8.32242130242049],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1357\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1357\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-8.16724968062983,2.81894853371173,-2.84670969915877],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1358\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1358\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-25.3682771564328,21.5258951736469,-52.7491056544548],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1359\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1359\\\\\\",\\\\\\"radius\\\\\\":4,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-33.276049496474,12.3248778435673,-59.8326882142243],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1_MAIN\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1_MAIN\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]}},\\\\\\"nglOrientations\\\\\\":{\\\\\\"summary_view\\\\\\":{\\\\\\"elements\\\\\\":[151.57246581831345,0,0,0,0,151.57246581831345,0,0,0,0,151.57246581831345,0,20.63599967956543,-9.788999557495117,30.652498722076416,1]},\\\\\\"major_view\\\\\\":{\\\\\\"elements\\\\\\":[175.71917143685755,0,0,0,0,175.71917143685755,0,0,0,0,175.71917143685755,0,20.63599967956543,-9.788999557495117,30.652498722076416,1]}},\\\\\\"viewParams\\\\\\":{\\\\\\"backgroundColor\\\\\\":\\\\\\"black\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipFar\\\\\\":100,\\\\\\"clipDist\\\\\\":10,\\\\\\"fogNear\\\\\\":50,\\\\\\"fogFar\\\\\\":100},\\\\\\"sessionScene\\\\\\":{}},\\\\\\"sessionScene\\\\\\":{\\\\\\"objectsInView\\\\\\":{\\\\\\"MOLECULE-GROUP_1350\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1350\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-22.484894250297,28.3999801923385,-57.0342539559206],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1351\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1351\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-2.81695936344749,3.04520134701659,3.6844813876363],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1353\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1353\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-6.39705882352941,15.7078235294118,-24.2612352941176],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1354\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1354\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-52.3928823529412,9.81782352941177,-44.0535294117647],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1355\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1355\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[12.4376428571429,5.258,-4.62571428571429],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1356\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1356\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-10.4955049680239,-9.68024546470901,-8.32242130242049],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1357\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1357\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-8.16724968062983,2.81894853371173,-2.84670969915877],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1358\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1358\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-25.3682771564328,21.5258951736469,-52.7491056544548],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1359\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1359\\\\\\",\\\\\\"radius\\\\\\":4,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-33.276049496474,12.3248778435673,-59.8326882142243],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1_MAIN\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1_MAIN\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1352\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1352\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,1,0],\\\\\\"coords\\\\\\":[-17.04182333064,-14.5853546390328,-4.80279280511738],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1349\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1349\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,1,0],\\\\\\"coords\\\\\\":[-29.0779995245673,6.01491712123347,-63.9123385290991],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-32.12,1.42,-65.738],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-33.15092700313684,5.630176759848748,-64.8115775850715],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-34.34784883356808,4.82806297255051,-63.77178758873543],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.555187817847973,3.307572066651391,-66.2672872220088],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-31.49037262841551,2.428873005958751,-63.348212409286845],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-28.109,7.031,-63.742],\\\\\\"end\\\\\\":[-28.795814336938214,7.757694676443554,-63.28352326797892],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-33.83188550795935,3.9895103567263064,-66.35925995565532],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-34.356827212237505,2.8487217682243586,-65.13648845293089],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-30.064,3.756,-64.27],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[Xe].O=C([Xe])Nc1cnns1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[Xe].O=C([Xe])Nc1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.53,3.284,-64.039],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE_3\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE_3\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"MOLECULE\\\\\\",\\\\\\"colour\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"LIGAND\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"ball+stick\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"sphereDetail\\\\\\":1,\\\\\\"radialSegments\\\\\\":10,\\\\\\"openEnded\\\\\\":true,\\\\\\"disableImpostor\\\\\\":false,\\\\\\"aspectRatio\\\\\\":2,\\\\\\"lineOnly\\\\\\":false,\\\\\\"cylinderOnly\\\\\\":false,\\\\\\"multipleBond\\\\\\":true,\\\\\\"bondScale\\\\\\":0.4,\\\\\\"bondSpacing\\\\\\":1,\\\\\\"linewidth\\\\\\":2,\\\\\\"radiusType\\\\\\":\\\\\\"size\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":0.15,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"sphereDetail\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":3,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":25,\\\\\\"min\\\\\\":5,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"openEnded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disableImpostor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1},\\\\\\"lineOnly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"cylinderOnly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"multipleBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"symmetric\\\\\\":\\\\\\"symmetric\\\\\\",\\\\\\"offset\\\\\\":\\\\\\"offset\\\\\\"}},\\\\\\"bondScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.01},\\\\\\"bondSpacing\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.5},\\\\\\"linewidth\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"NUDT5A-x0114_3_COMP\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"NUDT5A-x0114_3_COMP\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"COMPLEX\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"colour\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_3_apo.pdb\\\\\\",\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"COMPLEX\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"line\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"multipleBond\\\\\\":\\\\\\"off\\\\\\",\\\\\\"bondSpacing\\\\\\":1,\\\\\\"linewidth\\\\\\":2,\\\\\\"lines\\\\\\":true,\\\\\\"crosses\\\\\\":\\\\\\"lone\\\\\\",\\\\\\"crossSize\\\\\\":0.4,\\\\\\"radiusType\\\\\\":\\\\\\"vdw\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"/0\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"multipleBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"symmetric\\\\\\":\\\\\\"symmetric\\\\\\",\\\\\\"offset\\\\\\":\\\\\\"offset\\\\\\"}},\\\\\\"bondSpacing\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.5},\\\\\\"linewidth\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"lines\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"crosses\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"lone\\\\\\":\\\\\\"lone\\\\\\",\\\\\\"all\\\\\\":\\\\\\"all\\\\\\"}},\\\\\\"crossSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.1},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":null,\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":null,\\\\\\"wireframe\\\\\\":null,\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":null,\\\\\\"metalness\\\\\\":null,\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}},{\\\\\\"type\\\\\\":\\\\\\"contact\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"hydrogenBond\\\\\\":true,\\\\\\"weakHydrogenBond\\\\\\":true,\\\\\\"waterHydrogenBond\\\\\\":false,\\\\\\"backboneHydrogenBond\\\\\\":false,\\\\\\"hydrophobic\\\\\\":false,\\\\\\"halogenBond\\\\\\":true,\\\\\\"ionicInteraction\\\\\\":true,\\\\\\"metalCoordination\\\\\\":true,\\\\\\"cationPi\\\\\\":true,\\\\\\"piStacking\\\\\\":true,\\\\\\"filterSele\\\\\\":\\\\\\"\\\\\\",\\\\\\"labelVisible\\\\\\":false,\\\\\\"labelFixedSize\\\\\\":false,\\\\\\"labelSize\\\\\\":2,\\\\\\"labelUnit\\\\\\":\\\\\\"\\\\\\",\\\\\\"maxHydrophobicDist\\\\\\":4,\\\\\\"maxHbondDist\\\\\\":3.5,\\\\\\"maxHbondSulfurDist\\\\\\":4.1,\\\\\\"maxHbondAccAngle\\\\\\":45,\\\\\\"maxHbondDonAngle\\\\\\":45,\\\\\\"maxHbondAccPlaneAngle\\\\\\":90,\\\\\\"maxHbondDonPlaneAngle\\\\\\":35,\\\\\\"maxPiStackingDist\\\\\\":5.5,\\\\\\"maxPiStackingOffset\\\\\\":2,\\\\\\"maxPiStackingAngle\\\\\\":30,\\\\\\"maxCationPiDist\\\\\\":6,\\\\\\"maxCationPiOffset\\\\\\":2,\\\\\\"maxIonicDist\\\\\\":5,\\\\\\"maxHalogenBondDist\\\\\\":3.5,\\\\\\"maxHalogenBondAngle\\\\\\":30,\\\\\\"maxMetalDist\\\\\\":3,\\\\\\"refineSaltBridges\\\\\\":true,\\\\\\"masterModelIndex\\\\\\":0,\\\\\\"lineOfSightDistFactor\\\\\\":1,\\\\\\"radialSegments\\\\\\":10,\\\\\\"disableImpostor\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"vdw\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":0.05,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"/0 or /1\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"hydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"weakHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"waterHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"backboneHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"hydrophobic\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"halogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"ionicInteraction\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"metalCoordination\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"cationPi\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"piStacking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"filterSele\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"text\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"labelVisible\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"labelFixedSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":\\\\\\"fixedSize\\\\\\"},\\\\\\"labelSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001,\\\\\\"rebuild\\\\\\":true},\\\\\\"labelUnit\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"angstrom\\\\\\":\\\\\\"angstrom\\\\\\",\\\\\\"nm\\\\\\":\\\\\\"nm\\\\\\"}},\\\\\\"maxHydrophobicDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondSulfurDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondAccAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDonAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondAccPlaneAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":90,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDonPlaneAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":90,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingOffset\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxCationPiDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxCationPiOffset\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxIonicDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHalogenBondDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHalogenBondAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxMetalDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"refineSaltBridges\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"masterModelIndex\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":-1,\\\\\\"rebuild\\\\\\":true},\\\\\\"lineOfSightDistFactor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":25,\\\\\\"min\\\\\\":5,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"disableImpostor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]}},\\\\\\"nglOrientations\\\\\\":{\\\\\\"summary_view\\\\\\":{\\\\\\"elements\\\\\\":[148.09238881012894,13.507533911039106,29.332631971841778,0,9.275195682527986,114.08403454115407,-99.36305249994771,0,-30.93262865978577,98.87665035132754,110.63811682119734,0,29.0779995245673,-6.01491712123347,63.9123385290991,1]},\\\\\\"major_view\\\\\\":{\\\\\\"elements\\\\\\":[35.87197679035059,0,0,0,0,35.87197679035059,0,0,0,0,35.87197679035059,0,29.839500427246094,-4.364000022411346,64.59249877929688,1]}},\\\\\\"viewParams\\\\\\":{\\\\\\"backgroundColor\\\\\\":\\\\\\"black\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipFar\\\\\\":100,\\\\\\"clipDist\\\\\\":10,\\\\\\"fogNear\\\\\\":50,\\\\\\"fogFar\\\\\\":100},\\\\\\"defaultScene\\\\\\":{\\\\\\"objectsInView\\\\\\":{\\\\\\"MOLECULE-GROUP_1349\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1349\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-29.0779995245673,6.01491712123347,-63.9123385290991],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1350\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1350\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-22.484894250297,28.3999801923385,-57.0342539559206],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1351\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1351\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-2.81695936344749,3.04520134701659,3.6844813876363],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1352\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1352\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-17.04182333064,-14.5853546390328,-4.80279280511738],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1353\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1353\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-6.39705882352941,15.7078235294118,-24.2612352941176],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1354\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1354\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-52.3928823529412,9.81782352941177,-44.0535294117647],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1355\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1355\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[12.4376428571429,5.258,-4.62571428571429],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1356\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1356\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-10.4955049680239,-9.68024546470901,-8.32242130242049],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1357\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1357\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-8.16724968062983,2.81894853371173,-2.84670969915877],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1358\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1358\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-25.3682771564328,21.5258951736469,-52.7491056544548],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1359\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1359\\\\\\",\\\\\\"radius\\\\\\":4,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-33.276049496474,12.3248778435673,-59.8326882142243],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1_MAIN\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1_MAIN\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]}},\\\\\\"nglOrientations\\\\\\":{\\\\\\"summary_view\\\\\\":{\\\\\\"elements\\\\\\":[151.57246581831345,0,0,0,0,151.57246581831345,0,0,0,0,151.57246581831345,0,20.63599967956543,-9.788999557495117,30.652498722076416,1]},\\\\\\"major_view\\\\\\":{\\\\\\"elements\\\\\\":[175.71917143685755,0,0,0,0,175.71917143685755,0,0,0,0,175.71917143685755,0,20.63599967956543,-9.788999557495117,30.652498722076416,1]}},\\\\\\"viewParams\\\\\\":{\\\\\\"backgroundColor\\\\\\":\\\\\\"black\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipFar\\\\\\":100,\\\\\\"clipDist\\\\\\":10,\\\\\\"fogNear\\\\\\":50,\\\\\\"fogFar\\\\\\":100},\\\\\\"sessionScene\\\\\\":{}}},\\\\\\"countOfRemainingMoleculeGroups\\\\\\":0,\\\\\\"proteinsHasLoaded\\\\\\":true,\\\\\\"countOfPendingNglObjects\\\\\\":0}},\\\\\\"selectionReducers\\\\\\":{\\\\\\"present\\\\\\":{\\\\\\"to_buy_list\\\\\\":[],\\\\\\"to_select\\\\\\":{},\\\\\\"vector_list\\\\\\":[{\\\\\\"name\\\\\\":\\\\\\"VECTOR_O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-32.12,1.42,-65.738],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-33.15092700313684,5.630176759848748,-64.8115775850715],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-34.34784883356808,4.82806297255051,-63.77178758873543],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.555187817847973,3.307572066651391,-66.2672872220088],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-31.49037262841551,2.428873005958751,-63.348212409286845],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-28.109,7.031,-63.742],\\\\\\"end\\\\\\":[-28.795814336938214,7.757694676443554,-63.28352326797892],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-33.83188550795935,3.9895103567263064,-66.35925995565532],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-34.356827212237505,2.8487217682243586,-65.13648845293089],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-30.064,3.756,-64.27],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[Xe].O=C([Xe])Nc1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.53,3.284,-64.039],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"}],\\\\\\"to_query_pk\\\\\\":3,\\\\\\"to_query_prot\\\\\\":3,\\\\\\"to_query_sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"this_vector_list\\\\\\":{},\\\\\\"querying\\\\\\":false,\\\\\\"to_query\\\\\\":\\\\\\"C[C@H]1CCO[C@@H]1C(=O)Nc1cnns1\\\\\\",\\\\\\"fragmentDisplayList\\\\\\":[3],\\\\\\"bondColorMap\\\\\\":{\\\\\\"O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\":[[1,0,100,false]],\\\\\\"C[Xe].O=C([Xe])Nc1cnns1\\\\\\":[[1,0,100,false],[5,6,101,false]],\\\\\\"C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\":[[5,6,101,false],[9,8,102,false]],\\\\\\"C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1\\\\\\":[[3,21,\\\\\\"NA\\\\\\",true]],\\\\\\"C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1\\\\\\":[[1,17,\\\\\\"NA\\\\\\",true]],\\\\\\"C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1\\\\\\":[[5,22,\\\\\\"NA\\\\\\",true]],\\\\\\"C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]\\\\\\":[[10,24,\\\\\\"NA\\\\\\",true]],\\\\\\"C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1\\\\\\":[[2,19,\\\\\\"NA\\\\\\",true]]},\\\\\\"complexList\\\\\\":[3],\\\\\\"vectorOnList\\\\\\":[3],\\\\\\"highlightedCompound\\\\\\":{},\\\\\\"compoundClasses\\\\\\":{\\\\\\"1\\\\\\":\\\\\\"Blue\\\\\\",\\\\\\"2\\\\\\":\\\\\\"Red\\\\\\",\\\\\\"3\\\\\\":\\\\\\"Green\\\\\\",\\\\\\"4\\\\\\":\\\\\\"Purple\\\\\\",\\\\\\"5\\\\\\":\\\\\\"Apricot\\\\\\"},\\\\\\"currentCompoundClass\\\\\\":1,\\\\\\"countOfPendingVectorLoadRequests\\\\\\":0,\\\\\\"mol_group_selection\\\\\\":[1352,1349]}}}\\"}"`, + scene: `"{\\"state\\":\\"{\\\\\\"apiReducers\\\\\\":{\\\\\\"present\\\\\\":{\\\\\\"target_id_list\\\\\\":[{\\\\\\"id\\\\\\":1,\\\\\\"title\\\\\\":\\\\\\"NUDT5A\\\\\\",\\\\\\"project\\\\\\":[1],\\\\\\"protein_set\\\\\\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],\\\\\\"template_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\"}],\\\\\\"mol_group_list\\\\\\":[{\\\\\\"id\\\\\\":1349,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[3,11,13,20,23,25,30,34,39,45,47,54,57,61,67,73,81,85,91,117,121,128,132,136,140,145],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-29.0779995245673,\\\\\\"y_com\\\\\\":6.01491712123347,\\\\\\"z_com\\\\\\":-63.9123385290991,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1350,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[1,8,15,16,22,27,29,33,41,42,49,56,59,63,72,79,83,87,93,118,122,125,129,133,137,141,142],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-22.484894250297,\\\\\\"y_com\\\\\\":28.3999801923385,\\\\\\"z_com\\\\\\":-57.0342539559206,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1351,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[2,10,14,17,24,31,35,37,38,43,46,51,52,58,60,64,66,70,74,76,77,80,84,88,89,90,115,119,123,126,130,134,138,143],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-2.81695936344749,\\\\\\"y_com\\\\\\":3.04520134701659,\\\\\\"z_com\\\\\\":3.6844813876363,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1352,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[4,7,9,12,18,19,21,26,28,32,36,40,44,48,50,53,55,62,68,69,71,75,78,82,86,92,94,116,120,124,127,131,135,139,144],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-17.04182333064,\\\\\\"y_com\\\\\\":-14.5853546390328,\\\\\\"z_com\\\\\\":-4.80279280511738,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1353,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[5],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-6.39705882352941,\\\\\\"y_com\\\\\\":15.7078235294118,\\\\\\"z_com\\\\\\":-24.2612352941176,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1354,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[6],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-52.3928823529412,\\\\\\"y_com\\\\\\":9.81782352941177,\\\\\\"z_com\\\\\\":-44.0535294117647,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1355,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[65],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":12.4376428571429,\\\\\\"y_com\\\\\\":5.258,\\\\\\"z_com\\\\\\":-4.62571428571429,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1356,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[95,99,103,107,111,146,150,155,158,162,166],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-10.4955049680239,\\\\\\"y_com\\\\\\":-9.68024546470901,\\\\\\"z_com\\\\\\":-8.32242130242049,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1357,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[96,100,104,108,112,147,151,156,159,163,167],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-8.16724968062983,\\\\\\"y_com\\\\\\":2.81894853371173,\\\\\\"z_com\\\\\\":-2.84670969915877,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1358,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[97,101,105,109,113,148,152,154,157,160,164,168],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-25.3682771564328,\\\\\\"y_com\\\\\\":21.5258951736469,\\\\\\"z_com\\\\\\":-52.7491056544548,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"},{\\\\\\"id\\\\\\":1359,\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"mol_id\\\\\\":[98,102,106,110,114,149,153,161,165,169],\\\\\\"target_id\\\\\\":1,\\\\\\"x_com\\\\\\":-33.276049496474,\\\\\\"y_com\\\\\\":12.3248778435673,\\\\\\"z_com\\\\\\":-59.8326882142243,\\\\\\"description\\\\\\":\\\\\\"c_of_m\\\\\\"}],\\\\\\"molecule_list\\\\\\":[{\\\\\\"id\\\\\\":3,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CCO[C@@H]1C(=O)Nc1cnns1\\\\\\",\\\\\\"cmpd_id\\\\\\":1,\\\\\\"prot_id\\\\\\":3,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0114_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0114_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":213.06,\\\\\\"logp\\\\\\":0.9,\\\\\\"tpsa\\\\\\":64.11,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":11,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CO[C@H](C)CN1C(=O)c1cnsn1\\\\\\",\\\\\\"cmpd_id\\\\\\":4,\\\\\\"prot_id\\\\\\":11,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0169_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0169_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.3190 5.7740 -63.9320 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6940 3.7550 -65.0660 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9280 3.1260 -64.5590 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1750 3.9960 -65.4140 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.6070 5.5120 -65.2450 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4230 4.7670 -63.5750 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.8510 5.3510 -63.7030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2940 3.4670 -64.4350 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0210 6.7940 -62.9880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8160 7.6750 -63.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5040 7.1320 -63.3990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5370 8.0310 -63.4160 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8010 8.9800 -62.8730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7870 7.0200 -62.0730 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1930 9.5490 -63.0450 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 3 1 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 7 1 6\\\\\\\\n 8 6 1 0\\\\\\\\n 8 3 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 13 1 0\\\\\\\\n 15 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":227.07,\\\\\\"logp\\\\\\":0.79,\\\\\\"tpsa\\\\\\":55.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":13,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nc(C(=O)N2CCCC2)c(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":5,\\\\\\"prot_id\\\\\\":13,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0171_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0171_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.0470 7.9770 -62.8350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2250 9.6620 -62.7210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0370 6.0430 -61.8910 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7800 8.3410 -63.0220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.2090 6.6440 -63.2350 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5370 5.9890 -63.0300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5920 4.6770 -63.8720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.9370 4.0830 -65.2570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.2420 5.0310 -66.2250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9020 5.3560 -65.5130 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0760 6.0290 -63.7190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9650 4.6300 -64.2220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.2750 5.3590 -64.0630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7180 7.1200 -63.6790 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 12 11 1 0\\\\\\\\n 13 7 1 0\\\\\\\\n 13 10 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 14 11 1 0\\\\\\\\n 14 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.08,\\\\\\"logp\\\\\\":2,\\\\\\"tpsa\\\\\\":33.2,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":20,\\\\\\"smiles\\\\\\":\\\\\\"CCNC(=O)c1c[nH]nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":7,\\\\\\"prot_id\\\\\\":20,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0177_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0177_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -27.8450 8.4520 -63.2970 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 10.6450 -62.6010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9690 7.5870 -63.3030 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2730 9.7380 -62.7790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7560 7.4590 -63.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2220 6.2190 -64.0670 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9300 5.0430 -64.3100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0130 4.2240 -64.9420 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8180 4.8820 -65.0630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9130 6.0500 -64.5500 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 1 1 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 3 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 6 1 0\\\\\\\\n 10 9 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":140.07,\\\\\\"logp\\\\\\":-0.45,\\\\\\"tpsa\\\\\\":70.67,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":2,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":23,\\\\\\"smiles\\\\\\":\\\\\\"COC(=O)c1cccc(NS(C)(=O)=O)c1\\\\\\",\\\\\\"cmpd_id\\\\\\":9,\\\\\\"prot_id\\\\\\":23,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0256_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0256_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.0670 2.4150 -64.3910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2860 8.9760 -62.6050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3940 8.1360 -63.3100 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6510 6.8370 -63.7940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9500 6.0050 -63.7470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.2180 6.5750 -63.4200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3720 5.7570 -63.3760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3090 4.3930 -63.6710 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0660 3.8030 -64.0220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.4390 1.2820 -62.0260 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8730 4.6020 -64.0520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6240 6.3830 -64.2790 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0180 -0.1270 -64.0430 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1840 1.2420 -63.2190 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5680 1.0940 -63.4650 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 11 9 2 0\\\\\\\\n 11 5 1 0\\\\\\\\n 12 4 2 0\\\\\\\\n 15 14 2 0\\\\\\\\n 15 13 2 0\\\\\\\\n 15 10 1 0\\\\\\\\n 15 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":229.04,\\\\\\"logp\\\\\\":0.84,\\\\\\"tpsa\\\\\\":72.47,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":25,\\\\\\"smiles\\\\\\":\\\\\\"c1nc(N2CCC2)c2[nH]cnc2n1\\\\\\",\\\\\\"cmpd_id\\\\\\":10,\\\\\\"prot_id\\\\\\":25,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0262_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0262_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.5270 5.6280 -63.5790 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.5150 5.0250 -63.8040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7860 6.4040 -63.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1440 4.3540 -64.0810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1830 5.9780 -63.9010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9760 5.5120 -64.5150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3380 7.5850 -63.6720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3350 9.2940 -62.8100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7250 7.2400 -63.5220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3080 5.0890 -64.4220 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4270 6.7040 -64.1730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1180 8.8840 -63.2150 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3090 8.3170 -62.9720 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 9 5 2 0\\\\\\\\n 10 5 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 11 7 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":175.09,\\\\\\"logp\\\\\\":0.56,\\\\\\"tpsa\\\\\\":57.7,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":30,\\\\\\"smiles\\\\\\":\\\\\\"Cc1cccc(Nc2ncnc3c2cnn3C)c1\\\\\\",\\\\\\"cmpd_id\\\\\\":11,\\\\\\"prot_id\\\\\\":30,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0286_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0286_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 18 20 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.9890 3.7350 -63.8040 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.3690 1.3600 -63.8790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8660 1.3160 -63.8770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9140 6.1410 -64.0280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2990 6.0450 -63.6240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1470 2.5300 -63.8610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1890 0.0850 -63.9120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8020 0.0800 -63.9610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0720 1.2810 -63.9570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7400 2.5100 -63.8710 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3400 5.0640 -63.5730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7180 6.6860 -62.6060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6190 7.3180 -63.1040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3860 9.4290 -62.7190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5800 5.4190 -63.0690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8130 7.6960 -62.5800 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4840 8.0760 -63.1910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4290 7.3830 -63.7470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 6 1 0\\\\\\\\n 10 1 1 0\\\\\\\\n 11 1 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 13 5 1 0\\\\\\\\n 15 11 1 0\\\\\\\\n 15 12 2 0\\\\\\\\n 16 13 2 0\\\\\\\\n 16 12 1 0\\\\\\\\n 17 14 1 0\\\\\\\\n 17 13 1 0\\\\\\\\n 18 17 1 0\\\\\\\\n 18 4 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":239.12,\\\\\\"logp\\\\\\":2.42,\\\\\\"tpsa\\\\\\":55.63,\\\\\\"ha\\\\\\":18,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":90},{\\\\\\"id\\\\\\":34,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)N(C)c1ncnc2c1cnn2C\\\\\\",\\\\\\"cmpd_id\\\\\\":12,\\\\\\"prot_id\\\\\\":34,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0299_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0299_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.6290 3.1440 -64.2690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.3730 0.8860 -63.5860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6600 2.0500 -64.5760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1830 2.3710 -64.6180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2750 2.8210 -64.8240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9290 4.5080 -63.8540 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4470 6.1110 -63.0190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3630 6.8390 -63.3890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1780 9.0330 -63.0440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5290 5.7590 -64.1380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9340 5.5540 -63.8460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1920 4.8290 -63.4190 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6160 7.1670 -62.9770 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2520 7.6530 -63.4290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1420 7.0050 -63.8800 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 11 6 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 8 1 0\\\\\\\\n 12 6 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 13 7 1 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 8 1 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 10 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.21,\\\\\\"tpsa\\\\\\":46.84,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":39,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)C(=O)Nc1nnn(C)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":14,\\\\\\"prot_id\\\\\\":39,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0320_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0320_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 12 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4610 5.0120 -64.1020 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.1400 4.2350 -64.4430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3400 6.0880 -63.2910 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.6460 3.8740 -64.2280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4190 2.8400 -63.1040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8500 5.1180 -63.8280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5180 6.0100 -63.8530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3750 9.2360 -62.8950 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1020 5.9050 -64.1200 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5700 7.0340 -63.8000 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5610 7.8570 -63.3470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8120 7.2620 -63.3550 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 1 0\\\\\\\\n 12 7 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":169.1,\\\\\\"logp\\\\\\":-0.2,\\\\\\"tpsa\\\\\\":72.7,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":45,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nsc(N2CCCNCC2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":15,\\\\\\"prot_id\\\\\\":45,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0333_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0333_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.6920 7.4840 -63.7630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7480 9.4620 -62.7370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7510 8.0630 -63.2230 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8030 6.1090 -63.5750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3670 3.6600 -63.5470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9190 2.7350 -64.6480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4610 2.7220 -64.7580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.2510 4.5040 -63.0270 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2440 5.4890 -63.6990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9640 7.3340 -63.0900 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7760 5.1140 -63.6270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0730 3.0820 -63.4470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1340 5.9000 -64.1790 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 4 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 9 1 0\\\\\\\\n 11 4 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 4 1 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":198.09,\\\\\\"logp\\\\\\":0.65,\\\\\\"tpsa\\\\\\":41.05,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":47,\\\\\\"smiles\\\\\\":\\\\\\"CCN(CC)c1cc(C)nc2ncnn12\\\\\\",\\\\\\"cmpd_id\\\\\\":16,\\\\\\"prot_id\\\\\\":47,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0339_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0339_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.2830 5.0870 -63.6690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1500 6.6640 -63.6300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3310 5.6710 -62.8100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7060 3.9130 -64.5060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5470 2.5480 -63.8200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9740 5.7150 -63.8490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7470 7.0090 -63.4150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4640 7.6230 -63.5160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3320 9.0230 -63.0420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5660 5.7680 -64.5060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4300 3.7660 -65.3150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3700 7.0550 -64.0350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.6930 4.9250 -65.0880 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7220 3.8210 -64.9250 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8430 5.0790 -64.4180 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 1 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 11 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 11 2 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 6 1 0\\\\\\\\n 15 10 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.28,\\\\\\"tpsa\\\\\\":46.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":54,\\\\\\"smiles\\\\\\":\\\\\\"CNC(=O)c1cnc(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":19,\\\\\\"prot_id\\\\\\":54,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0412_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0412_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.3410 3.0290 -64.6300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6660 2.9820 -64.0020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3490 3.9150 -65.2420 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4220 4.1220 -64.6860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6580 5.4900 -64.1120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8190 6.0780 -63.6280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3700 7.7760 -63.3870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8390 9.1080 -63.0660 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.6550 7.3990 -63.2070 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3370 6.5970 -64.0400 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 7 2 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 7 1 0\\\\\\\\n 10 5 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":156.04,\\\\\\"logp\\\\\\":0.81,\\\\\\"tpsa\\\\\\":41.99,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":57,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)c1ncc(Cl)c(C(N)=O)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":20,\\\\\\"prot_id\\\\\\":57,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0463_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0463_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.2950 4.7080 -64.4810 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5760 7.9850 -63.9870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.4910 6.4160 -64.6570 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2990 6.6770 -63.2560 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.5880 5.8210 -63.1520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1310 5.9830 -63.9650 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1640 4.0660 -64.8780 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8730 4.6570 -64.7880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8190 5.9940 -64.3190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5560 6.8200 -64.2620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9400 6.6530 -63.9040 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6550 8.0910 -63.7650 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5340 3.6740 -65.1110 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 6 4 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 9 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":199.05,\\\\\\"logp\\\\\\":1.35,\\\\\\"tpsa\\\\\\":68.87,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":70},{\\\\\\"id\\\\\\":61,\\\\\\"smiles\\\\\\":\\\\\\"CNc1nccc(OC)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":21,\\\\\\"prot_id\\\\\\":61,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0469_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0469_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.7980 9.2210 -63.0530 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7010 10.2290 -62.4940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.9240 4.9410 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.2810 8.0140 -63.4830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0880 6.5590 -63.7960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2330 5.5450 -64.2200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8320 5.8740 -64.2540 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.2520 3.6080 -65.1790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6760 7.7870 -63.4280 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3120 7.0960 -63.8870 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 3 1 0\\\\\\\\n 9 5 1 0\\\\\\\\n 9 4 2 0\\\\\\\\n 10 4 1 0\\\\\\\\n 10 7 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":139.07,\\\\\\"logp\\\\\\":0.53,\\\\\\"tpsa\\\\\\":47.04,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":67,\\\\\\"smiles\\\\\\":\\\\\\"Cc1n[nH]c(C)c1S(=O)(=O)N(C)C\\\\\\",\\\\\\"cmpd_id\\\\\\":24,\\\\\\"prot_id\\\\\\":67,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0552_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0552_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -31.1580 8.1880 -64.7300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9110 7.5030 -65.7940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9140 8.1900 -62.2090 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.0880 9.6460 -64.9890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9190 7.5940 -63.6110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9970 8.6940 -63.2910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2720 10.0100 -62.6420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0910 6.6250 -64.2370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4080 5.2990 -64.8210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7530 8.3800 -63.7000 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8500 7.1270 -64.2630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8650 6.0800 -63.4170 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5140 7.4600 -63.3640 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 5 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 11 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 13 12 2 0\\\\\\\\n 13 5 1 0\\\\\\\\n 13 3 2 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":203.07,\\\\\\"logp\\\\\\":0.28,\\\\\\"tpsa\\\\\\":66.06,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":74},{\\\\\\"id\\\\\\":73,\\\\\\"smiles\\\\\\":\\\\\\"c1csc(-c2nnc[nH]2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":26,\\\\\\"prot_id\\\\\\":73,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0574_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0574_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.6200 4.8950 -64.3730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5460 3.5800 -64.8720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2880 3.1660 -65.2290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3980 5.4210 -64.3770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1060 6.7290 -63.9180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3780 8.7850 -63.1400 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8830 7.3320 -63.9060 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0560 8.5800 -63.4410 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0760 7.6130 -63.4360 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1250 4.3950 -64.9640 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 3 2 2 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 7 5 2 0\\\\\\\\n 8 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 9 5 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 10 3 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":152.02,\\\\\\"logp\\\\\\":0.93,\\\\\\"tpsa\\\\\\":54.46,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":50},{\\\\\\"id\\\\\\":81,\\\\\\"smiles\\\\\\":\\\\\\"CCNc1ccc(C)nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":30,\\\\\\"prot_id\\\\\\":81,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0637_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0637_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -27.5590 8.7020 -63.5230 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9130 10.2410 -62.2180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9200 8.9540 -63.0360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1630 7.4910 -64.0490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9730 6.3110 -64.1680 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4080 5.1860 -64.8370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0860 5.3000 -65.3470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.3540 4.2010 -66.0800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.3710 6.4890 -65.1780 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.8520 7.5000 -64.5740 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":137.1,\\\\\\"logp\\\\\\":1.22,\\\\\\"tpsa\\\\\\":37.81,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":85,\\\\\\"smiles\\\\\\":\\\\\\"Cn1cc(Oc2ncncc2Cl)cn1\\\\\\",\\\\\\"cmpd_id\\\\\\":32,\\\\\\"prot_id\\\\\\":85,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0673_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0673_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -32.4610 4.4040 -64.3750 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5990 3.5050 -64.1280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9940 6.9560 -63.8080 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7840 5.2300 -63.4530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8280 5.9060 -64.2250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6360 6.8360 -63.8770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8150 5.4680 -64.4170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3790 7.6400 -63.7040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7420 7.8810 -63.5480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9710 5.4160 -65.5600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1740 5.5970 -64.3170 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.8760 6.4440 -64.1290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9700 4.5170 -65.6380 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1650 9.3790 -62.9540 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 5 3 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 9 6 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 5 1 0\\\\\\\\n 11 6 1 0\\\\\\\\n 11 7 2 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.03,\\\\\\"logp\\\\\\":1.66,\\\\\\"tpsa\\\\\\":52.83,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":91,\\\\\\"smiles\\\\\\":\\\\\\"COc1ccc2cn[nH]c(=O)c2c1OC\\\\\\",\\\\\\"cmpd_id\\\\\\":34,\\\\\\"prot_id\\\\\\":91,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0685_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0685_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.9750 6.8000 -63.9890 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9900 1.6570 -65.8520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.6940 2.3820 -64.6300 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5660 3.2040 -64.5830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3250 2.6910 -65.0580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1900 3.4940 -65.0780 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2500 4.7980 -64.5900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0460 5.5970 -64.5310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4060 6.7150 -63.4600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4610 5.3530 -64.0640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6540 4.5540 -64.0840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.7960 4.3820 -62.9290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1020 7.3370 -63.4810 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.3060 7.3440 -62.9280 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8710 5.1390 -63.6980 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 10 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 2 0\\\\\\\\n 11 4 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 12 1 0\\\\\\\\n 15 11 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":206.07,\\\\\\"logp\\\\\\":0.94,\\\\\\"tpsa\\\\\\":64.21,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":78},{\\\\\\"id\\\\\\":117,\\\\\\"smiles\\\\\\":\\\\\\"Nc1nccc(C(F)(F)F)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":41,\\\\\\"prot_id\\\\\\":117,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1072_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1072_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 11 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4930 6.9940 -63.4910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3540 5.5480 -63.8860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8480 5.8170 -64.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1290 7.2950 -63.5880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6120 5.2880 -64.6490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9850 4.8910 -64.6030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0700 6.6130 -64.1890 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7400 5.2150 -62.6550 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8260 4.5400 -64.6530 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7270 8.5010 -63.0640 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1490 6.4650 -64.1580 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 7 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 6 3 1 0\\\\\\\\n 8 2 1 0\\\\\\\\n 9 2 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 4 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":163.04,\\\\\\"logp\\\\\\":1.08,\\\\\\"tpsa\\\\\\":51.8,\\\\\\"ha\\\\\\":11,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":121,\\\\\\"smiles\\\\\\":\\\\\\"O=c1[nH]cnc2cc(F)ccc12\\\\\\",\\\\\\"cmpd_id\\\\\\":42,\\\\\\"prot_id\\\\\\":121,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1078_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1078_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.9280 8.4750 -62.8910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7010 5.5420 -63.9930 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6780 6.4830 -64.3100 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6400 4.7240 -64.5140 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3250 5.1950 -64.4800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4280 6.8010 -63.4730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1200 7.2460 -63.4490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7040 8.9380 -62.8420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0660 6.4670 -63.9490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6980 7.0080 -63.9050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.9940 5.0760 -63.9550 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5720 8.2810 -63.3290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 2 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 9 5 2 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 12 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.06,\\\\\\"tpsa\\\\\\":45.75,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":128,\\\\\\"smiles\\\\\\":\\\\\\"FC(F)c1nnc2c(C(F)(F)F)cccn12\\\\\\",\\\\\\"cmpd_id\\\\\\":44,\\\\\\"prot_id\\\\\\":128,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1093_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1093_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.7620 6.7460 -63.8730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9120 3.3840 -65.5290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7280 4.4870 -64.8430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0650 4.3800 -64.5720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7640 5.4720 -63.9460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1250 6.6390 -63.6010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0330 5.6820 -64.4960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8070 7.7370 -63.6630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9930 9.0950 -63.0420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8680 3.8390 -66.2630 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6460 2.6400 -66.3880 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8040 9.7100 -62.9850 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7320 9.9100 -63.8400 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3960 2.4890 -64.6670 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7120 6.0720 -64.6260 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5850 7.2880 -64.1290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 10 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 12 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 14 2 1 0\\\\\\\\n 15 7 2 0\\\\\\\\n 16 8 2 0\\\\\\\\n 16 15 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":237.03,\\\\\\"logp\\\\\\":2.69,\\\\\\"tpsa\\\\\\":30.19,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":86},{\\\\\\"id\\\\\\":132,\\\\\\"smiles\\\\\\":\\\\\\"N#Cc1c(C(F)(F)F)cn2ccnc2c1Cl\\\\\\",\\\\\\"cmpd_id\\\\\\":45,\\\\\\"prot_id\\\\\\":132,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1211_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1211_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.9500 7.1130 -63.9640 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2630 4.9230 -64.3300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0650 6.3050 -63.9790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4430 8.3760 -63.5480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8340 8.3410 -63.2900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5290 6.4580 -63.4970 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6680 5.1280 -63.8310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0530 4.4390 -63.8190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4990 4.3380 -64.2240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5630 2.9160 -64.3430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.0690 5.2100 -63.3370 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0590 3.2990 -63.0950 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.4830 4.0510 -65.0520 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2510 7.0330 -63.5590 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5980 1.7490 -64.4090 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9760 4.0490 -64.9060 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 11 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 9 2 2 0\\\\\\\\n 10 9 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 13 8 1 0\\\\\\\\n 14 6 1 0\\\\\\\\n 14 5 1 0\\\\\\\\n 14 3 1 0\\\\\\\\n 15 10 3 0\\\\\\\\n 16 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":245,\\\\\\"logp\\\\\\":2.88,\\\\\\"tpsa\\\\\\":41.09,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":136,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2cccc(F)c12\\\\\\",\\\\\\"cmpd_id\\\\\\":46,\\\\\\"prot_id\\\\\\":136,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1212_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1212_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7830 8.1080 -63.0090 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6140 4.9010 -64.4920 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1470 6.5620 -64.1540 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8070 4.2310 -64.5570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.0170 4.8880 -64.1190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9920 6.1710 -63.6380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7640 6.8580 -63.5570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5920 8.7220 -62.8810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3570 7.0100 -63.7960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5490 6.2370 -63.9810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4920 4.2910 -64.9040 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3460 8.2270 -63.2600 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 1 2 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 3 1 0\\\\\\\\n 10 2 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 7 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 9 1 0\\\\\\\\n 12 8 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":140,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2ccc(F)cc12\\\\\\",\\\\\\"cmpd_id\\\\\\":47,\\\\\\"prot_id\\\\\\":140,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1213_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1213_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4830 8.5670 -62.8930 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7560 4.7170 -64.3380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0350 6.7430 -64.1740 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9370 5.4050 -63.8900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8330 6.6970 -63.4250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5630 7.3030 -63.3840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2630 9.1360 -62.8930 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5510 5.2950 -64.3310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4520 6.5980 -63.8440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.2000 7.3060 -63.7900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8310 3.4620 -64.7680 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0710 8.5670 -63.3450 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 2 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 12 10 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":145,\\\\\\"smiles\\\\\\":\\\\\\"CSc1nc(C(F)(F)F)cc(=O)n1C\\\\\\",\\\\\\"cmpd_id\\\\\\":48,\\\\\\"prot_id\\\\\\":145,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1214_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1214_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.2670 6.0130 -64.1270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3960 6.1310 -63.2310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0390 6.6880 -64.3750 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5710 6.4240 -63.7360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9640 4.6190 -64.5810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8300 8.5650 -63.2400 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2090 9.9150 -62.6490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5480 8.3260 -63.5890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1840 6.9950 -64.0590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0280 9.7010 -61.5970 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1750 10.6450 -62.1940 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9270 10.7300 -63.5010 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8770 7.6470 -63.3060 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9100 5.2840 -63.7950 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 10 1 0\\\\\\\\n 8 6 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 9 3 2 0\\\\\\\\n 11 7 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 13 4 2 0\\\\\\\\n 14 4 1 0\\\\\\\\n 14 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":224.02,\\\\\\"logp\\\\\\":1.52,\\\\\\"tpsa\\\\\\":34.89,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":78}],\\\\\\"cached_mol_lists\\\\\\":{\\\\\\"1349\\\\\\":{\\\\\\"count\\\\\\":26,\\\\\\"next\\\\\\":null,\\\\\\"previous\\\\\\":null,\\\\\\"results\\\\\\":[{\\\\\\"id\\\\\\":3,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CCO[C@@H]1C(=O)Nc1cnns1\\\\\\",\\\\\\"cmpd_id\\\\\\":1,\\\\\\"prot_id\\\\\\":3,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0114_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0114_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":213.06,\\\\\\"logp\\\\\\":0.9,\\\\\\"tpsa\\\\\\":64.11,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":11,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CO[C@H](C)CN1C(=O)c1cnsn1\\\\\\",\\\\\\"cmpd_id\\\\\\":4,\\\\\\"prot_id\\\\\\":11,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0169_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0169_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.3190 5.7740 -63.9320 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6940 3.7550 -65.0660 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9280 3.1260 -64.5590 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1750 3.9960 -65.4140 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.6070 5.5120 -65.2450 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4230 4.7670 -63.5750 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.8510 5.3510 -63.7030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2940 3.4670 -64.4350 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0210 6.7940 -62.9880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8160 7.6750 -63.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5040 7.1320 -63.3990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5370 8.0310 -63.4160 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8010 8.9800 -62.8730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7870 7.0200 -62.0730 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1930 9.5490 -63.0450 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 3 1 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 7 1 6\\\\\\\\n 8 6 1 0\\\\\\\\n 8 3 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 13 1 0\\\\\\\\n 15 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":227.07,\\\\\\"logp\\\\\\":0.79,\\\\\\"tpsa\\\\\\":55.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":13,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nc(C(=O)N2CCCC2)c(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":5,\\\\\\"prot_id\\\\\\":13,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0171_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0171_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.0470 7.9770 -62.8350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2250 9.6620 -62.7210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0370 6.0430 -61.8910 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7800 8.3410 -63.0220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.2090 6.6440 -63.2350 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5370 5.9890 -63.0300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5920 4.6770 -63.8720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.9370 4.0830 -65.2570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.2420 5.0310 -66.2250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9020 5.3560 -65.5130 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0760 6.0290 -63.7190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9650 4.6300 -64.2220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.2750 5.3590 -64.0630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7180 7.1200 -63.6790 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 12 11 1 0\\\\\\\\n 13 7 1 0\\\\\\\\n 13 10 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 14 11 1 0\\\\\\\\n 14 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.08,\\\\\\"logp\\\\\\":2,\\\\\\"tpsa\\\\\\":33.2,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":20,\\\\\\"smiles\\\\\\":\\\\\\"CCNC(=O)c1c[nH]nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":7,\\\\\\"prot_id\\\\\\":20,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0177_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0177_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -27.8450 8.4520 -63.2970 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 10.6450 -62.6010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9690 7.5870 -63.3030 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2730 9.7380 -62.7790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7560 7.4590 -63.5210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2220 6.2190 -64.0670 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9300 5.0430 -64.3100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0130 4.2240 -64.9420 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8180 4.8820 -65.0630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9130 6.0500 -64.5500 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 1 1 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 3 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 6 1 0\\\\\\\\n 10 9 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":140.07,\\\\\\"logp\\\\\\":-0.45,\\\\\\"tpsa\\\\\\":70.67,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":2,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":23,\\\\\\"smiles\\\\\\":\\\\\\"COC(=O)c1cccc(NS(C)(=O)=O)c1\\\\\\",\\\\\\"cmpd_id\\\\\\":9,\\\\\\"prot_id\\\\\\":23,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0256_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0256_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.0670 2.4150 -64.3910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2860 8.9760 -62.6050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3940 8.1360 -63.3100 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6510 6.8370 -63.7940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9500 6.0050 -63.7470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.2180 6.5750 -63.4200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3720 5.7570 -63.3760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3090 4.3930 -63.6710 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0660 3.8030 -64.0220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.4390 1.2820 -62.0260 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8730 4.6020 -64.0520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6240 6.3830 -64.2790 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0180 -0.1270 -64.0430 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1840 1.2420 -63.2190 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5680 1.0940 -63.4650 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 11 9 2 0\\\\\\\\n 11 5 1 0\\\\\\\\n 12 4 2 0\\\\\\\\n 15 14 2 0\\\\\\\\n 15 13 2 0\\\\\\\\n 15 10 1 0\\\\\\\\n 15 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":229.04,\\\\\\"logp\\\\\\":0.84,\\\\\\"tpsa\\\\\\":72.47,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":25,\\\\\\"smiles\\\\\\":\\\\\\"c1nc(N2CCC2)c2[nH]cnc2n1\\\\\\",\\\\\\"cmpd_id\\\\\\":10,\\\\\\"prot_id\\\\\\":25,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0262_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0262_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.5270 5.6280 -63.5790 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.5150 5.0250 -63.8040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7860 6.4040 -63.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1440 4.3540 -64.0810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1830 5.9780 -63.9010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9760 5.5120 -64.5150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3380 7.5850 -63.6720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3350 9.2940 -62.8100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7250 7.2400 -63.5220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3080 5.0890 -64.4220 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4270 6.7040 -64.1730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1180 8.8840 -63.2150 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3090 8.3170 -62.9720 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 9 5 2 0\\\\\\\\n 10 5 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 11 7 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":175.09,\\\\\\"logp\\\\\\":0.56,\\\\\\"tpsa\\\\\\":57.7,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":30,\\\\\\"smiles\\\\\\":\\\\\\"Cc1cccc(Nc2ncnc3c2cnn3C)c1\\\\\\",\\\\\\"cmpd_id\\\\\\":11,\\\\\\"prot_id\\\\\\":30,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0286_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0286_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 18 20 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.9890 3.7350 -63.8040 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.3690 1.3600 -63.8790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8660 1.3160 -63.8770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9140 6.1410 -64.0280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2990 6.0450 -63.6240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1470 2.5300 -63.8610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1890 0.0850 -63.9120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8020 0.0800 -63.9610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0720 1.2810 -63.9570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7400 2.5100 -63.8710 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3400 5.0640 -63.5730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7180 6.6860 -62.6060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6190 7.3180 -63.1040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3860 9.4290 -62.7190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5800 5.4190 -63.0690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8130 7.6960 -62.5800 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4840 8.0760 -63.1910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4290 7.3830 -63.7470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 6 1 0\\\\\\\\n 10 1 1 0\\\\\\\\n 11 1 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 13 5 1 0\\\\\\\\n 15 11 1 0\\\\\\\\n 15 12 2 0\\\\\\\\n 16 13 2 0\\\\\\\\n 16 12 1 0\\\\\\\\n 17 14 1 0\\\\\\\\n 17 13 1 0\\\\\\\\n 18 17 1 0\\\\\\\\n 18 4 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":239.12,\\\\\\"logp\\\\\\":2.42,\\\\\\"tpsa\\\\\\":55.63,\\\\\\"ha\\\\\\":18,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":90},{\\\\\\"id\\\\\\":34,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)N(C)c1ncnc2c1cnn2C\\\\\\",\\\\\\"cmpd_id\\\\\\":12,\\\\\\"prot_id\\\\\\":34,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0299_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0299_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.6290 3.1440 -64.2690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.3730 0.8860 -63.5860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6600 2.0500 -64.5760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1830 2.3710 -64.6180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2750 2.8210 -64.8240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9290 4.5080 -63.8540 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4470 6.1110 -63.0190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3630 6.8390 -63.3890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1780 9.0330 -63.0440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5290 5.7590 -64.1380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9340 5.5540 -63.8460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.1920 4.8290 -63.4190 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6160 7.1670 -62.9770 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2520 7.6530 -63.4290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1420 7.0050 -63.8800 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 11 6 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 8 1 0\\\\\\\\n 12 6 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 13 7 1 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 8 1 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 10 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.21,\\\\\\"tpsa\\\\\\":46.84,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":39,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)C(=O)Nc1nnn(C)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":14,\\\\\\"prot_id\\\\\\":39,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0320_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0320_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 12 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4610 5.0120 -64.1020 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.1400 4.2350 -64.4430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3400 6.0880 -63.2910 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.6460 3.8740 -64.2280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4190 2.8400 -63.1040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8500 5.1180 -63.8280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5180 6.0100 -63.8530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3750 9.2360 -62.8950 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1020 5.9050 -64.1200 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5700 7.0340 -63.8000 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5610 7.8570 -63.3470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8120 7.2620 -63.3550 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 1 0\\\\\\\\n 12 7 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":169.1,\\\\\\"logp\\\\\\":-0.2,\\\\\\"tpsa\\\\\\":72.7,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":45,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nsc(N2CCCNCC2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":15,\\\\\\"prot_id\\\\\\":45,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0333_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0333_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.6920 7.4840 -63.7630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7480 9.4620 -62.7370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7510 8.0630 -63.2230 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8030 6.1090 -63.5750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3670 3.6600 -63.5470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9190 2.7350 -64.6480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4610 2.7220 -64.7580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.2510 4.5040 -63.0270 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2440 5.4890 -63.6990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9640 7.3340 -63.0900 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7760 5.1140 -63.6270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0730 3.0820 -63.4470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1340 5.9000 -64.1790 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 4 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 9 1 0\\\\\\\\n 11 4 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 4 1 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":198.09,\\\\\\"logp\\\\\\":0.65,\\\\\\"tpsa\\\\\\":41.05,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":47,\\\\\\"smiles\\\\\\":\\\\\\"CCN(CC)c1cc(C)nc2ncnn12\\\\\\",\\\\\\"cmpd_id\\\\\\":16,\\\\\\"prot_id\\\\\\":47,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0339_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0339_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.2830 5.0870 -63.6690 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1500 6.6640 -63.6300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3310 5.6710 -62.8100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7060 3.9130 -64.5060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5470 2.5480 -63.8200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9740 5.7150 -63.8490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7470 7.0090 -63.4150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4640 7.6230 -63.5160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3320 9.0230 -63.0420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5660 5.7680 -64.5060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.4300 3.7660 -65.3150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3700 7.0550 -64.0350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.6930 4.9250 -65.0880 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7220 3.8210 -64.9250 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8430 5.0790 -64.4180 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 1 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 11 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 11 2 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 6 1 0\\\\\\\\n 15 10 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.28,\\\\\\"tpsa\\\\\\":46.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":54,\\\\\\"smiles\\\\\\":\\\\\\"CNC(=O)c1cnc(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":19,\\\\\\"prot_id\\\\\\":54,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0412_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0412_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.3410 3.0290 -64.6300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6660 2.9820 -64.0020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3490 3.9150 -65.2420 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4220 4.1220 -64.6860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6580 5.4900 -64.1120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8190 6.0780 -63.6280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3700 7.7760 -63.3870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8390 9.1080 -63.0660 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.6550 7.3990 -63.2070 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3370 6.5970 -64.0400 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 7 2 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 7 1 0\\\\\\\\n 10 5 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":156.04,\\\\\\"logp\\\\\\":0.81,\\\\\\"tpsa\\\\\\":41.99,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":57,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)c1ncc(Cl)c(C(N)=O)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":20,\\\\\\"prot_id\\\\\\":57,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0463_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0463_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -30.2950 4.7080 -64.4810 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5760 7.9850 -63.9870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.4910 6.4160 -64.6570 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.2990 6.6770 -63.2560 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.5880 5.8210 -63.1520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1310 5.9830 -63.9650 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.1640 4.0660 -64.8780 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8730 4.6570 -64.7880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8190 5.9940 -64.3190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5560 6.8200 -64.2620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9400 6.6530 -63.9040 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6550 8.0910 -63.7650 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5340 3.6740 -65.1110 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 6 4 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 9 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":199.05,\\\\\\"logp\\\\\\":1.35,\\\\\\"tpsa\\\\\\":68.87,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":70},{\\\\\\"id\\\\\\":61,\\\\\\"smiles\\\\\\":\\\\\\"CNc1nccc(OC)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":21,\\\\\\"prot_id\\\\\\":61,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0469_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0469_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.7980 9.2210 -63.0530 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7010 10.2290 -62.4940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.9240 4.9410 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.2810 8.0140 -63.4830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0880 6.5590 -63.7960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2330 5.5450 -64.2200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8320 5.8740 -64.2540 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.2520 3.6080 -65.1790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6760 7.7870 -63.4280 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3120 7.0960 -63.8870 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 3 1 0\\\\\\\\n 9 5 1 0\\\\\\\\n 9 4 2 0\\\\\\\\n 10 4 1 0\\\\\\\\n 10 7 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":139.07,\\\\\\"logp\\\\\\":0.53,\\\\\\"tpsa\\\\\\":47.04,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":67,\\\\\\"smiles\\\\\\":\\\\\\"Cc1n[nH]c(C)c1S(=O)(=O)N(C)C\\\\\\",\\\\\\"cmpd_id\\\\\\":24,\\\\\\"prot_id\\\\\\":67,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0552_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0552_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -31.1580 8.1880 -64.7300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9110 7.5030 -65.7940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9140 8.1900 -62.2090 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.0880 9.6460 -64.9890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9190 7.5940 -63.6110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9970 8.6940 -63.2910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2720 10.0100 -62.6420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0910 6.6250 -64.2370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4080 5.2990 -64.8210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7530 8.3800 -63.7000 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8500 7.1270 -64.2630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8650 6.0800 -63.4170 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5140 7.4600 -63.3640 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 5 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 11 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 13 12 2 0\\\\\\\\n 13 5 1 0\\\\\\\\n 13 3 2 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":203.07,\\\\\\"logp\\\\\\":0.28,\\\\\\"tpsa\\\\\\":66.06,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":74},{\\\\\\"id\\\\\\":73,\\\\\\"smiles\\\\\\":\\\\\\"c1csc(-c2nnc[nH]2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":26,\\\\\\"prot_id\\\\\\":73,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0574_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0574_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.6200 4.8950 -64.3730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5460 3.5800 -64.8720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2880 3.1660 -65.2290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3980 5.4210 -64.3770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1060 6.7290 -63.9180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.3780 8.7850 -63.1400 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8830 7.3320 -63.9060 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0560 8.5800 -63.4410 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0760 7.6130 -63.4360 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1250 4.3950 -64.9640 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 3 2 2 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 7 5 2 0\\\\\\\\n 8 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 9 5 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 10 3 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":152.02,\\\\\\"logp\\\\\\":0.93,\\\\\\"tpsa\\\\\\":54.46,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":50},{\\\\\\"id\\\\\\":81,\\\\\\"smiles\\\\\\":\\\\\\"CCNc1ccc(C)nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":30,\\\\\\"prot_id\\\\\\":81,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0637_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0637_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -27.5590 8.7020 -63.5230 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9130 10.2410 -62.2180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9200 8.9540 -63.0360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1630 7.4910 -64.0490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9730 6.3110 -64.1680 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4080 5.1860 -64.8370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0860 5.3000 -65.3470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.3540 4.2010 -66.0800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.3710 6.4890 -65.1780 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.8520 7.5000 -64.5740 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":137.1,\\\\\\"logp\\\\\\":1.22,\\\\\\"tpsa\\\\\\":37.81,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":85,\\\\\\"smiles\\\\\\":\\\\\\"Cn1cc(Oc2ncncc2Cl)cn1\\\\\\",\\\\\\"cmpd_id\\\\\\":32,\\\\\\"prot_id\\\\\\":85,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0673_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0673_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -32.4610 4.4040 -64.3750 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5990 3.5050 -64.1280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9940 6.9560 -63.8080 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7840 5.2300 -63.4530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8280 5.9060 -64.2250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6360 6.8360 -63.8770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8150 5.4680 -64.4170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.3790 7.6400 -63.7040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7420 7.8810 -63.5480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9710 5.4160 -65.5600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1740 5.5970 -64.3170 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -25.8760 6.4440 -64.1290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9700 4.5170 -65.6380 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1650 9.3790 -62.9540 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 5 3 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 9 6 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 5 1 0\\\\\\\\n 11 6 1 0\\\\\\\\n 11 7 2 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.03,\\\\\\"logp\\\\\\":1.66,\\\\\\"tpsa\\\\\\":52.83,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":91,\\\\\\"smiles\\\\\\":\\\\\\"COc1ccc2cn[nH]c(=O)c2c1OC\\\\\\",\\\\\\"cmpd_id\\\\\\":34,\\\\\\"prot_id\\\\\\":91,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0685_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0685_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.9750 6.8000 -63.9890 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.9900 1.6570 -65.8520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.6940 2.3820 -64.6300 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5660 3.2040 -64.5830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3250 2.6910 -65.0580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1900 3.4940 -65.0780 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2500 4.7980 -64.5900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0460 5.5970 -64.5310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4060 6.7150 -63.4600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4610 5.3530 -64.0640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6540 4.5540 -64.0840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.7960 4.3820 -62.9290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1020 7.3370 -63.4810 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.3060 7.3440 -62.9280 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8710 5.1390 -63.6980 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 10 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 2 0\\\\\\\\n 11 4 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 12 1 0\\\\\\\\n 15 11 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":206.07,\\\\\\"logp\\\\\\":0.94,\\\\\\"tpsa\\\\\\":64.21,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":78},{\\\\\\"id\\\\\\":117,\\\\\\"smiles\\\\\\":\\\\\\"Nc1nccc(C(F)(F)F)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":41,\\\\\\"prot_id\\\\\\":117,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1072_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1072_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 11 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4930 6.9940 -63.4910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.3540 5.5480 -63.8860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8480 5.8170 -64.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1290 7.2950 -63.5880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6120 5.2880 -64.6490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.9850 4.8910 -64.6030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0700 6.6130 -64.1890 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7400 5.2150 -62.6550 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.8260 4.5400 -64.6530 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.7270 8.5010 -63.0640 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1490 6.4650 -64.1580 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 7 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 6 3 1 0\\\\\\\\n 8 2 1 0\\\\\\\\n 9 2 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 4 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":163.04,\\\\\\"logp\\\\\\":1.08,\\\\\\"tpsa\\\\\\":51.8,\\\\\\"ha\\\\\\":11,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":121,\\\\\\"smiles\\\\\\":\\\\\\"O=c1[nH]cnc2cc(F)ccc12\\\\\\",\\\\\\"cmpd_id\\\\\\":42,\\\\\\"prot_id\\\\\\":121,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1078_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1078_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.9280 8.4750 -62.8910 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.7010 5.5420 -63.9930 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.6780 6.4830 -64.3100 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6400 4.7240 -64.5140 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.3250 5.1950 -64.4800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.4280 6.8010 -63.4730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1200 7.2460 -63.4490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7040 8.9380 -62.8420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.0660 6.4670 -63.9490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.6980 7.0080 -63.9050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.9940 5.0760 -63.9550 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5720 8.2810 -63.3290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 2 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 9 5 2 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 12 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.06,\\\\\\"tpsa\\\\\\":45.75,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":128,\\\\\\"smiles\\\\\\":\\\\\\"FC(F)c1nnc2c(C(F)(F)F)cccn12\\\\\\",\\\\\\"cmpd_id\\\\\\":44,\\\\\\"prot_id\\\\\\":128,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1093_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1093_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.7620 6.7460 -63.8730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9120 3.3840 -65.5290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7280 4.4870 -64.8430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0650 4.3800 -64.5720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.7640 5.4720 -63.9460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.1250 6.6390 -63.6010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0330 5.6820 -64.4960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.8070 7.7370 -63.6630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9930 9.0950 -63.0420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8680 3.8390 -66.2630 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6460 2.6400 -66.3880 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.8040 9.7100 -62.9850 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.7320 9.9100 -63.8400 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3960 2.4890 -64.6670 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7120 6.0720 -64.6260 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.5850 7.2880 -64.1290 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 10 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 12 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 14 2 1 0\\\\\\\\n 15 7 2 0\\\\\\\\n 16 8 2 0\\\\\\\\n 16 15 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":237.03,\\\\\\"logp\\\\\\":2.69,\\\\\\"tpsa\\\\\\":30.19,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":86},{\\\\\\"id\\\\\\":132,\\\\\\"smiles\\\\\\":\\\\\\"N#Cc1c(C(F)(F)F)cn2ccnc2c1Cl\\\\\\",\\\\\\"cmpd_id\\\\\\":45,\\\\\\"prot_id\\\\\\":132,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1211_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1211_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -26.9500 7.1130 -63.9640 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2630 4.9230 -64.3300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.0650 6.3050 -63.9790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4430 8.3760 -63.5480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8340 8.3410 -63.2900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.5290 6.4580 -63.4970 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.6680 5.1280 -63.8310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0530 4.4390 -63.8190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.4990 4.3380 -64.2240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5630 2.9160 -64.3430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.0690 5.2100 -63.3370 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.0590 3.2990 -63.0950 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.4830 4.0510 -65.0520 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2510 7.0330 -63.5590 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5980 1.7490 -64.4090 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.9760 4.0490 -64.9060 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 11 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 9 2 2 0\\\\\\\\n 10 9 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 13 8 1 0\\\\\\\\n 14 6 1 0\\\\\\\\n 14 5 1 0\\\\\\\\n 14 3 1 0\\\\\\\\n 15 10 3 0\\\\\\\\n 16 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":245,\\\\\\"logp\\\\\\":2.88,\\\\\\"tpsa\\\\\\":41.09,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":136,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2cccc(F)c12\\\\\\",\\\\\\"cmpd_id\\\\\\":46,\\\\\\"prot_id\\\\\\":136,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1212_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1212_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7830 8.1080 -63.0090 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.6140 4.9010 -64.4920 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1470 6.5620 -64.1540 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8070 4.2310 -64.5570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.0170 4.8880 -64.1190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9920 6.1710 -63.6380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7640 6.8580 -63.5570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5920 8.7220 -62.8810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3570 7.0100 -63.7960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5490 6.2370 -63.9810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.4920 4.2910 -64.9040 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.3460 8.2270 -63.2600 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 1 2 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 3 1 0\\\\\\\\n 10 2 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 7 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 9 1 0\\\\\\\\n 12 8 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":140,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2ccc(F)cc12\\\\\\",\\\\\\"cmpd_id\\\\\\":47,\\\\\\"prot_id\\\\\\":140,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1213_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1213_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.4830 8.5670 -62.8930 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.7560 4.7170 -64.3380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0350 6.7430 -64.1740 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9370 5.4050 -63.8900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.8330 6.6970 -63.4250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5630 7.3030 -63.3840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.2630 9.1360 -62.8930 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.5510 5.2950 -64.3310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4520 6.5980 -63.8440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.2000 7.3060 -63.7900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8310 3.4620 -64.7680 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0710 8.5670 -63.3450 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 2 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 12 10 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":145,\\\\\\"smiles\\\\\\":\\\\\\"CSc1nc(C(F)(F)F)cc(=O)n1C\\\\\\",\\\\\\"cmpd_id\\\\\\":48,\\\\\\"prot_id\\\\\\":145,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1214_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1214_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -28.2670 6.0130 -64.1270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3960 6.1310 -63.2310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.0390 6.6880 -64.3750 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.5710 6.4240 -63.7360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.9640 4.6190 -64.5810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.8300 8.5650 -63.2400 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2090 9.9150 -62.6490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.5480 8.3260 -63.5890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.1840 6.9950 -64.0590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0280 9.7010 -61.5970 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1750 10.6450 -62.1940 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.9270 10.7300 -63.5010 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.8770 7.6470 -63.3060 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.9100 5.2840 -63.7950 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 10 1 0\\\\\\\\n 8 6 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 9 3 2 0\\\\\\\\n 11 7 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 13 4 2 0\\\\\\\\n 14 4 1 0\\\\\\\\n 14 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":224.02,\\\\\\"logp\\\\\\":1.52,\\\\\\"tpsa\\\\\\":34.89,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":78}]},\\\\\\"1352\\\\\\":{\\\\\\"count\\\\\\":35,\\\\\\"next\\\\\\":null,\\\\\\"previous\\\\\\":null,\\\\\\"results\\\\\\":[{\\\\\\"id\\\\\\":4,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CCO[C@@H]1C(=O)Nc1cnns1\\\\\\",\\\\\\"cmpd_id\\\\\\":1,\\\\\\"prot_id\\\\\\":4,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0114_4\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0114_4_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.9370 -14.9630 -5.2050 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.3090 -15.1220 -7.3410 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4140 -16.4090 -8.5600 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7280 -14.9010 -7.8310 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8080 -14.8890 -9.3460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5830 -16.1920 -9.6650 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6340 -16.1050 -7.4390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4820 -15.8460 -6.1670 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4640 -14.6290 -4.0390 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9550 -13.7600 -3.1310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7160 -13.7720 -1.9770 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.6820 -14.5430 -1.9770 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.5910 -16.3890 -6.0420 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.8740 -15.4220 -3.4110 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 6\\\\\\\\n 5 4 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 8 1 1\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 12 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":213.06,\\\\\\"logp\\\\\\":0.9,\\\\\\"tpsa\\\\\\":64.11,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":7,\\\\\\"smiles\\\\\\":\\\\\\"CN1CCN(C(=O)c2ccc(F)c(F)c2)CC1\\\\\\",\\\\\\"cmpd_id\\\\\\":3,\\\\\\"prot_id\\\\\\":7,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0158_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0158_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 17 18 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -20.2570 -18.0960 -5.1170 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3640 -19.1460 -5.7230 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.5800 -14.5870 -1.9400 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.9780 -17.9110 -3.6400 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7070 -12.1480 -3.5830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9360 -12.7630 -3.3060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.2750 -16.4450 -3.2280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0680 -15.9050 -5.3530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.2140 -16.7920 -5.9080 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3850 -14.7380 -3.1440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1340 -14.0920 -3.6890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1240 -14.7870 -4.4070 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.8980 -14.1550 -4.6970 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6800 -12.8320 -4.2510 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.4990 -12.2220 -4.3600 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4860 -10.9150 -3.2190 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3360 -15.4890 -3.9400 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 4 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 12 1 0\\\\\\\\n 14 13 2 0\\\\\\\\n 14 5 1 0\\\\\\\\n 15 14 1 0\\\\\\\\n 16 5 1 0\\\\\\\\n 17 7 1 0\\\\\\\\n 17 10 1 0\\\\\\\\n 17 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":240.11,\\\\\\"logp\\\\\\":1.35,\\\\\\"tpsa\\\\\\":23.55,\\\\\\"ha\\\\\\":17,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":92},{\\\\\\"id\\\\\\":9,\\\\\\"smiles\\\\\\":\\\\\\"C[C@H]1CO[C@H](C)CN1C(=O)c1cnsn1\\\\\\",\\\\\\"cmpd_id\\\\\\":4,\\\\\\"prot_id\\\\\\":9,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0169_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0169_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.0680 -15.1770 -6.2510 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.0530 -16.0930 -5.0590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.9140 -17.2850 -6.8480 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.8130 -16.9120 -5.4560 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5020 -16.1150 -5.1580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2240 -15.7270 -7.6450 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1760 -16.8230 -7.8750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.6610 -16.2790 -7.8020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5220 -13.9010 -6.0990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3940 -13.2440 -4.7720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4350 -13.2470 -3.7110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1570 -12.4980 -2.7090 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3670 -12.5060 -4.5080 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0590 -13.2760 -7.0720 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6790 -11.8180 -3.0350 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 3 1 0\\\\\\\\n 4 2 1 6\\\\\\\\n 5 4 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 7 1 1\\\\\\\\n 8 3 1 0\\\\\\\\n 8 6 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 12 1 0\\\\\\\\n 15 13 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":227.07,\\\\\\"logp\\\\\\":0.79,\\\\\\"tpsa\\\\\\":55.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":12,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nc(C(=O)N2CCCC2)c(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":5,\\\\\\"prot_id\\\\\\":12,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0171_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0171_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -14.9500 -12.7400 -5.2630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.2350 -11.2220 -3.5410 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8760 -13.5450 -7.8100 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1170 -12.2200 -4.0890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9390 -13.6850 -5.4970 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9410 -14.3040 -6.8270 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6560 -16.6860 -5.9360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1710 -17.9240 -6.6970 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4200 -17.6750 -8.1870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1420 -16.3190 -8.2940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8460 -13.8720 -4.4690 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9810 -14.7990 -4.4000 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8880 -15.6700 -6.9840 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4680 -12.8220 -3.1690 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 12 11 1 0\\\\\\\\n 13 7 1 0\\\\\\\\n 13 10 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 14 11 1 0\\\\\\\\n 14 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.08,\\\\\\"logp\\\\\\":2,\\\\\\"tpsa\\\\\\":33.2,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":18,\\\\\\"smiles\\\\\\":\\\\\\"CN(C[C@H]1CCOC1)c1ncncc1Cl\\\\\\",\\\\\\"cmpd_id\\\\\\":6,\\\\\\"prot_id\\\\\\":18,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0176_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0176_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.3250 -15.2820 -5.7280 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1590 -14.8970 -6.5200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.1020 -15.9210 -9.0160 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9070 -16.6390 -6.0720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4930 -16.8210 -7.5080 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.8090 -17.6460 -7.5090 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3760 -17.2870 -8.8580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9310 -15.5550 -8.2630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8460 -14.4950 -4.6790 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.5720 -14.2820 -3.0840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8120 -12.8350 -2.9160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1980 -13.3920 -4.0280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0840 -14.9180 -4.1680 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9920 -13.2530 -2.4160 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.7280 -12.6230 -4.4280 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 1\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 5 1 0\\\\\\\\n 8 3 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 12 11 1 0\\\\\\\\n 12 9 2 0\\\\\\\\n 13 10 2 0\\\\\\\\n 13 9 1 0\\\\\\\\n 14 11 2 0\\\\\\\\n 14 10 1 0\\\\\\\\n 15 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":227.08,\\\\\\"logp\\\\\\":1.6,\\\\\\"tpsa\\\\\\":38.25,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":19,\\\\\\"smiles\\\\\\":\\\\\\"CCNC(=O)c1c[nH]nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":7,\\\\\\"prot_id\\\\\\":19,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0177_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0177_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -15.5240 -11.9460 -3.1990 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.0650 -11.5680 -3.2100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2090 -13.2060 -5.0700 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.4370 -10.9900 -3.5220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8190 -12.9950 -4.0150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9100 -13.8590 -3.5900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4490 -14.9140 -4.3300 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.4440 -15.4050 -3.5440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.5180 -14.6770 -2.3510 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.6180 -13.7550 -2.3650 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 3 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 6 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":140.07,\\\\\\"logp\\\\\\":-0.45,\\\\\\"tpsa\\\\\\":70.67,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":2,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":21,\\\\\\"smiles\\\\\\":\\\\\\"COC(=O)CNC(=O)c1cc(C)on1\\\\\\",\\\\\\"cmpd_id\\\\\\":8,\\\\\\"prot_id\\\\\\":21,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0244_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0244_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -18.7290 -15.5120 -4.1250 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.5320 -19.9750 -3.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.0770 -18.6530 -2.9840 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.8320 -17.7030 -3.9620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.9480 -16.2230 -3.6520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0490 -14.6110 -3.3010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8570 -13.9560 -3.8370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0940 -12.9420 -3.1580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1000 -12.6360 -4.0320 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.9640 -11.7140 -3.9830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3080 -14.2050 -5.0380 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.5190 -18.1280 -5.0640 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3950 -14.3520 -2.1700 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2380 -13.4010 -5.1670 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 2 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 7 2 0\\\\\\\\n 12 4 2 0\\\\\\\\n 13 6 2 0\\\\\\\\n 14 11 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":198.06,\\\\\\"logp\\\\\\":-0.11,\\\\\\"tpsa\\\\\\":81.43,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":76},{\\\\\\"id\\\\\\":26,\\\\\\"smiles\\\\\\":\\\\\\"c1nc(N2CCC2)c2[nH]cnc2n1\\\\\\",\\\\\\"cmpd_id\\\\\\":10,\\\\\\"prot_id\\\\\\":26,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0262_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0262_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.2260 -15.1970 -6.0650 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8490 -16.0010 -7.9420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3030 -14.7790 -7.1470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0370 -16.1490 -6.9240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6620 -14.5640 -4.9150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0100 -14.4330 -3.0370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2840 -12.9240 -3.1440 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6270 -11.7190 -3.8750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9170 -13.4700 -4.4030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7250 -15.0510 -4.2270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3550 -13.4150 -2.4380 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4410 -11.8190 -2.8410 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.8770 -12.6780 -4.8360 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 9 5 2 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 10 5 1 0\\\\\\\\n 11 6 1 0\\\\\\\\n 11 7 2 0\\\\\\\\n 12 8 2 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":175.09,\\\\\\"logp\\\\\\":0.56,\\\\\\"tpsa\\\\\\":57.7,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":28,\\\\\\"smiles\\\\\\":\\\\\\"Cc1cccc(Nc2ncnc3c2cnn3C)c1\\\\\\",\\\\\\"cmpd_id\\\\\\":11,\\\\\\"prot_id\\\\\\":28,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0286_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0286_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 18 20 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -18.3660 -16.1300 -5.3680 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.8050 -17.7080 -9.8750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.8700 -17.7820 -8.4130 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4010 -14.1550 -3.1620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9480 -14.3860 -4.4830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0280 -16.9630 -7.6260 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.7670 -18.6910 -7.8390 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.8300 -18.7990 -6.4690 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.0160 -18.0030 -5.6520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0980 -17.0580 -6.2150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3350 -15.1670 -5.5920 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5820 -14.1130 -6.8430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8500 -13.4850 -4.6890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.7860 -11.7110 -3.3370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6190 -14.9980 -6.7750 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.0910 -13.3080 -5.8680 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7340 -12.7890 -3.5230 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6530 -13.1850 -2.5970 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 6 1 0\\\\\\\\n 10 1 1 0\\\\\\\\n 11 5 2 0\\\\\\\\n 11 1 1 0\\\\\\\\n 13 5 1 0\\\\\\\\n 15 11 1 0\\\\\\\\n 15 12 2 0\\\\\\\\n 16 12 1 0\\\\\\\\n 16 13 2 0\\\\\\\\n 17 14 1 0\\\\\\\\n 17 13 1 0\\\\\\\\n 18 4 2 0\\\\\\\\n 18 17 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":239.12,\\\\\\"logp\\\\\\":2.42,\\\\\\"tpsa\\\\\\":55.63,\\\\\\"ha\\\\\\":18,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":3,\\\\\\"velec\\\\\\":90},{\\\\\\"id\\\\\\":32,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)N(C)c1ncnc2c1cnn2C\\\\\\",\\\\\\"cmpd_id\\\\\\":12,\\\\\\"prot_id\\\\\\":32,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0299_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0299_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -19.3060 -16.1380 -5.7950 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.0030 -18.4730 -6.7020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.5820 -17.0110 -7.0460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.6340 -16.3810 -7.9450 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.1120 -16.3290 -4.5830 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1120 -15.2720 -5.7620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2070 -14.3500 -6.9020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5870 -13.6430 -4.7810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3990 -11.9530 -3.3430 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.2130 -14.1680 -3.2690 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7530 -14.4700 -4.6170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3030 -15.1910 -6.9060 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7780 -13.5520 -5.9050 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4440 -12.9460 -3.6070 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4110 -13.2630 -2.7000 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 11 6 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 8 1 0\\\\\\\\n 12 6 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 13 7 1 0\\\\\\\\n 14 8 1 0\\\\\\\\n 14 9 1 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 10 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.21,\\\\\\"tpsa\\\\\\":46.84,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":36,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nsc(N2CCO[C@@H](C)[C@H]2C)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":13,\\\\\\"prot_id\\\\\\":36,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0319_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0319_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.8590 -15.2600 -5.7220 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.6700 -17.2770 -7.5620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.9420 -15.9130 -8.3700 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.9310 -15.9300 -7.3270 C 0 0 2 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5960 -16.1730 -8.0210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1060 -15.1300 -7.0100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3790 -15.6430 -5.8150 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.6660 -16.7700 -4.8110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4580 -14.3720 -4.7020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3240 -12.8570 -3.5040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2200 -11.9040 -3.3060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4000 -13.5410 -4.7330 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2240 -13.0950 -2.5790 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3080 -14.2490 -3.1520 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 4 3 1 0\\\\\\\\n 5 3 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 7 8 1 1\\\\\\\\n 9 1 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 9 2 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 13 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":213.09,\\\\\\"logp\\\\\\":1.46,\\\\\\"tpsa\\\\\\":38.25,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":78},{\\\\\\"id\\\\\\":40,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)C(=O)Nc1nnn(C)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":14,\\\\\\"prot_id\\\\\\":40,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0320_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0320_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 12 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.2010 -15.2390 -5.5430 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0380 -16.9270 -8.7600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6980 -14.5970 -7.1650 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1300 -16.5010 -7.7390 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.4170 -16.0410 -8.4470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5820 -15.3550 -6.8260 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8520 -14.2900 -4.5940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.9070 -11.6410 -3.3160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4430 -14.1420 -3.3120 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8340 -13.1740 -2.7510 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8770 -12.6980 -3.5930 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8460 -13.3480 -4.7630 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 3 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 8 1 0\\\\\\\\n 12 7 2 0\\\\\\\\n 12 11 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":169.1,\\\\\\"logp\\\\\\":-0.2,\\\\\\"tpsa\\\\\\":72.7,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":66},{\\\\\\"id\\\\\\":44,\\\\\\"smiles\\\\\\":\\\\\\"Cc1nsc(N2CCCNCC2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":15,\\\\\\"prot_id\\\\\\":44,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0333_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0333_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.8680 -12.9780 -2.6270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.8510 -11.8120 -3.3940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9680 -12.7550 -3.5650 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0940 -14.2750 -4.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.9980 -15.3830 -5.8750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3800 -16.8340 -6.0610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2820 -17.2240 -7.5370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3440 -15.8070 -8.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6850 -15.1360 -7.0240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0280 -13.4470 -4.7870 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5050 -15.1080 -5.7540 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8680 -17.1460 -7.9450 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9590 -14.1440 -3.1680 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 1 2 0\\\\\\\\n 3 2 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 4 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 9 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 4 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 13 4 1 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":198.09,\\\\\\"logp\\\\\\":0.65,\\\\\\"tpsa\\\\\\":41.05,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":48,\\\\\\"smiles\\\\\\":\\\\\\"CCN(CC)c1cc(C)nc2ncnn12\\\\\\",\\\\\\"cmpd_id\\\\\\":16,\\\\\\"prot_id\\\\\\":48,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0339_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0339_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.7670 -15.5570 -6.3840 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6170 -15.4750 -7.4460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0250 -14.9310 -7.4920 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4090 -16.9050 -6.7080 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.7890 -16.8780 -7.3850 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8680 -14.9410 -5.0890 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0090 -13.8920 -4.7320 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0890 -13.2440 -3.4840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1170 -12.1500 -3.2370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8490 -14.6040 -2.8760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3700 -16.1640 -2.9720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9710 -13.5580 -2.5340 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.8450 -15.1770 -2.1510 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.7750 -16.2670 -4.1740 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8080 -15.2920 -4.1220 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 1 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 13 11 1 0\\\\\\\\n 13 10 2 0\\\\\\\\n 14 11 2 0\\\\\\\\n 15 14 1 0\\\\\\\\n 15 10 1 0\\\\\\\\n 15 6 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":205.13,\\\\\\"logp\\\\\\":1.28,\\\\\\"tpsa\\\\\\":46.32,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":3,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":50,\\\\\\"smiles\\\\\\":\\\\\\"CC(=O)N1CCC[C@@H](C(N)=O)C1\\\\\\",\\\\\\"cmpd_id\\\\\\":17,\\\\\\"prot_id\\\\\\":50,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0392_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0392_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 12 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.0950 -15.6720 -6.0330 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8660 -15.9330 -8.5380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0910 -14.0360 -7.2850 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6550 -15.1390 -7.2620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1560 -16.7420 -5.8750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.4280 -16.2010 -5.1730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0310 -15.4640 -3.8730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9640 -14.3810 -4.1850 C 0 0 2 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.7300 -15.0380 -4.7800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4570 -13.6790 -2.9590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7220 -14.2310 -1.7700 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8120 -12.6360 -3.0080 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 5 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 10 1 1\\\\\\\\n 9 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 10 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":170.11,\\\\\\"logp\\\\\\":-0.27,\\\\\\"tpsa\\\\\\":63.4,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":68},{\\\\\\"id\\\\\\":53,\\\\\\"smiles\\\\\\":\\\\\\"CNC(=O)c1cnc(C)s1\\\\\\",\\\\\\"cmpd_id\\\\\\":19,\\\\\\"prot_id\\\\\\":53,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0412_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0412_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -19.2680 -15.9320 -4.0390 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2560 -16.3200 -5.4710 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.6170 -14.8980 -2.1430 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3960 -15.0520 -3.3360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2530 -14.3040 -3.9040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6260 -14.4010 -5.1250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4610 -12.7210 -4.2210 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.4650 -11.6570 -4.0500 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5870 -13.4760 -5.3100 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5320 -13.0500 -2.9490 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 9 7 2 0\\\\\\\\n 10 5 1 0\\\\\\\\n 10 7 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":156.04,\\\\\\"logp\\\\\\":0.81,\\\\\\"tpsa\\\\\\":41.99,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":55,\\\\\\"smiles\\\\\\":\\\\\\"CC(C)c1ncc(Cl)c(C(N)=O)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":20,\\\\\\"prot_id\\\\\\":55,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0463_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0463_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.1150 -16.4160 -5.9750 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9280 -15.0330 -8.2160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.6040 -14.0710 -1.6170 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1540 -15.3160 -6.9220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.1140 -14.2390 -6.6480 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1780 -15.4400 -5.7960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1230 -16.5220 -5.0720 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.2040 -15.6920 -3.9840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1630 -14.7270 -3.8370 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0580 -13.8300 -2.6740 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1490 -14.5800 -4.7340 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3020 -12.7330 -2.8500 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.4980 -15.9040 -2.9710 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 6 4 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 7 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 9 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 13 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":199.05,\\\\\\"logp\\\\\\":1.35,\\\\\\"tpsa\\\\\\":68.87,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":70},{\\\\\\"id\\\\\\":62,\\\\\\"smiles\\\\\\":\\\\\\"NC(=O)N1CCN(C(=O)c2ccco2)CC1\\\\\\",\\\\\\"cmpd_id\\\\\\":22,\\\\\\"prot_id\\\\\\":62,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0525_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0525_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -20.0060 -18.8210 -6.9880 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.9700 -18.7020 -5.6140 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.3640 -19.6360 -4.8830 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.3390 -16.6390 -4.2910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.5370 -15.8020 -3.3150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8590 -15.4320 -5.2740 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.7080 -16.5160 -6.0170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7290 -14.1650 -3.0150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5620 -13.3590 -3.4010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5250 -13.4820 -4.3050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6910 -12.3260 -4.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2590 -11.6100 -3.1240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.4420 -17.4220 -5.0920 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3790 -15.0400 -3.9010 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1510 -14.0480 -1.8590 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4080 -12.2190 -2.6760 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 3 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 7 1 0\\\\\\\\n 13 2 1 0\\\\\\\\n 13 4 1 0\\\\\\\\n 14 8 1 0\\\\\\\\n 14 6 1 0\\\\\\\\n 14 5 1 0\\\\\\\\n 15 8 2 0\\\\\\\\n 16 9 1 0\\\\\\\\n 16 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":223.1,\\\\\\"logp\\\\\\":0.12,\\\\\\"tpsa\\\\\\":79.78,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":86},{\\\\\\"id\\\\\\":68,\\\\\\"smiles\\\\\\":\\\\\\"Cc1n[nH]c(C)c1S(=O)(=O)N(C)C\\\\\\",\\\\\\"cmpd_id\\\\\\":24,\\\\\\"prot_id\\\\\\":68,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0552_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0552_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 13 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -14.6300 -14.8860 -5.7800 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6060 -16.2410 -5.2360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6510 -13.0150 -7.0660 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.3270 -14.2390 -5.8640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3870 -13.5980 -4.7040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4250 -14.0900 -3.7900 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3820 -15.2010 -3.9590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7790 -12.5620 -3.9640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6410 -11.6900 -4.2620 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4210 -13.3890 -2.6530 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4170 -12.4790 -2.7900 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8710 -15.0770 -6.7170 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9780 -14.1060 -6.2080 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 5 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 6 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 11 8 1 0\\\\\\\\n 13 12 2 0\\\\\\\\n 13 5 1 0\\\\\\\\n 13 3 2 0\\\\\\\\n 13 1 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":203.07,\\\\\\"logp\\\\\\":0.28,\\\\\\"tpsa\\\\\\":66.06,\\\\\\"ha\\\\\\":13,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":74},{\\\\\\"id\\\\\\":69,\\\\\\"smiles\\\\\\":\\\\\\"Cc1n[nH]c(C)c1-c1ccccc1N\\\\\\",\\\\\\"cmpd_id\\\\\\":25,\\\\\\"prot_id\\\\\\":69,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0554_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0554_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -15.2910 -15.2460 -7.5360 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5600 -16.3680 -5.3180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6200 -15.2040 -6.2110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6760 -12.4580 -3.7940 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8950 -13.1120 -6.9880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1540 -11.6730 -7.1630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0060 -13.8810 -5.8420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4420 -13.4040 -4.5570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7050 -13.8030 -4.1010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.2400 -13.2590 -2.9310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4990 -12.3130 -2.2120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2340 -11.9190 -2.6230 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4630 -13.9730 -7.9890 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.4020 -12.0500 -4.1440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 5 2 0\\\\\\\\n 7 3 1 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 4 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 12 4 1 0\\\\\\\\n 13 5 1 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":187.11,\\\\\\"logp\\\\\\":2.28,\\\\\\"tpsa\\\\\\":54.7,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":2,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":71,\\\\\\"smiles\\\\\\":\\\\\\"c1csc(-c2nnc[nH]2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":26,\\\\\\"prot_id\\\\\\":71,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0574_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0574_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.3600 -15.5450 -5.2470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.4450 -16.4590 -5.3330 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3420 -16.4070 -4.3070 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5170 -14.8260 -4.1340 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6560 -13.7680 -3.7840 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.0340 -12.3060 -3.8910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.7870 -12.9200 -2.7480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7980 -12.0480 -2.8270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5560 -13.4130 -4.5230 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.8900 -15.1990 -3.1740 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 3 2 2 0\\\\\\\\n 4 1 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 7 5 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 6 2 0\\\\\\\\n 9 5 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 3 1 0\\\\\\\\n 10 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":152.02,\\\\\\"logp\\\\\\":0.93,\\\\\\"tpsa\\\\\\":54.46,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":50},{\\\\\\"id\\\\\\":75,\\\\\\"smiles\\\\\\":\\\\\\"CNc1ncccn1\\\\\\",\\\\\\"cmpd_id\\\\\\":27,\\\\\\"prot_id\\\\\\":75,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0600_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0600_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 8 8 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -15.1680 -12.1270 -3.0110 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.9760 -11.6770 -3.7200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9680 -13.1960 -3.3580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8630 -14.4900 -2.9410 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.6560 -15.2480 -4.1000 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5140 -14.9030 -4.8640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0680 -13.4670 -2.5350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6630 -13.8970 -4.5160 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 2 0\\\\\\\\n 8 6 2 0\\\\\\\\n 8 3 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":109.06,\\\\\\"logp\\\\\\":0.52,\\\\\\"tpsa\\\\\\":37.81,\\\\\\"ha\\\\\\":8,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":42},{\\\\\\"id\\\\\\":78,\\\\\\"smiles\\\\\\":\\\\\\"CCNC(=O)N1CCN(C(C)=O)CC1\\\\\\",\\\\\\"cmpd_id\\\\\\":29,\\\\\\"prot_id\\\\\\":78,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0627_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0627_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -21.8470 -16.1210 -6.7490 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -22.8460 -18.3430 -7.2860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.9350 -16.3910 -8.0610 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -22.7860 -16.8400 -7.6310 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.4500 -16.1270 -6.9670 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.4180 -14.9260 -5.9520 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2990 -15.3670 -5.0640 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.1120 -15.7930 -3.3460 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.8010 -16.5200 -4.5190 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3360 -14.0650 -2.8470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2660 -13.0530 -3.1670 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.6710 -15.7480 -5.7840 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7920 -15.0960 -3.7080 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8500 -14.0390 -1.7530 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 5 3 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 9 1 0\\\\\\\\n 12 6 1 0\\\\\\\\n 12 5 1 0\\\\\\\\n 13 10 1 0\\\\\\\\n 13 8 1 0\\\\\\\\n 13 7 1 0\\\\\\\\n 14 10 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":199.13,\\\\\\"logp\\\\\\":-0.12,\\\\\\"tpsa\\\\\\":52.65,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":80},{\\\\\\"id\\\\\\":82,\\\\\\"smiles\\\\\\":\\\\\\"CCNc1ccc(C)nn1\\\\\\",\\\\\\"cmpd_id\\\\\\":30,\\\\\\"prot_id\\\\\\":82,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0637_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0637_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 10 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.2710 -12.6970 -2.9590 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.3160 -11.3160 -3.5820 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3920 -12.2530 -4.0590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1860 -13.7140 -3.1330 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3500 -14.4540 -4.3340 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3770 -15.3930 -4.3930 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2110 -15.5830 -3.2880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.2940 -16.6200 -3.2660 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0270 -14.8480 -2.1760 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0610 -13.9660 -2.0770 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 4 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":137.1,\\\\\\"logp\\\\\\":1.22,\\\\\\"tpsa\\\\\\":37.81,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":54},{\\\\\\"id\\\\\\":86,\\\\\\"smiles\\\\\\":\\\\\\"Cn1cc(Oc2ncncc2Cl)cn1\\\\\\",\\\\\\"cmpd_id\\\\\\":32,\\\\\\"prot_id\\\\\\":86,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0673_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0673_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -15.3600 -16.4690 -8.3570 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9430 -16.9780 -9.6340 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.3890 -14.1440 -5.8270 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3010 -15.1430 -7.9150 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.6850 -15.2120 -6.6630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2280 -13.9110 -4.7570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1500 -14.5090 -3.5760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8970 -12.7200 -2.8280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.9930 -12.8790 -3.8740 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.3980 -16.5840 -6.4070 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3250 -14.7620 -4.6270 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9850 -13.5040 -2.6470 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.8190 -17.3420 -7.4570 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.6650 -11.8400 -3.9990 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 5 3 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 6 2 0\\\\\\\\n 10 5 1 0\\\\\\\\n 11 7 2 0\\\\\\\\n 11 6 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 12 8 2 0\\\\\\\\n 13 10 2 0\\\\\\\\n 13 1 1 0\\\\\\\\n 14 9 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":210.03,\\\\\\"logp\\\\\\":1.66,\\\\\\"tpsa\\\\\\":52.83,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":5,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":72},{\\\\\\"id\\\\\\":92,\\\\\\"smiles\\\\\\":\\\\\\"COc1ccc2cn[nH]c(=O)c2c1OC\\\\\\",\\\\\\"cmpd_id\\\\\\":34,\\\\\\"prot_id\\\\\\":92,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0685_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0685_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.2870 -13.3000 -2.6620 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.3530 -17.8520 -8.0810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1020 -17.4970 -7.4520 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1320 -16.7010 -6.3180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0220 -17.0140 -5.2350 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0000 -16.2380 -4.0860 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0960 -15.1550 -4.0010 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0680 -14.3360 -2.8180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3100 -13.6290 -4.9050 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2120 -14.8170 -5.0680 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2510 -15.6040 -6.2490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1560 -15.6960 -7.3730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4480 -12.9470 -3.6310 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5060 -13.1610 -5.7150 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5080 -15.2680 -7.4010 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 10 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 4 1 0\\\\\\\\n 11 10 2 0\\\\\\\\n 13 1 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 14 9 2 0\\\\\\\\n 15 11 1 0\\\\\\\\n 15 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":206.07,\\\\\\"logp\\\\\\":0.94,\\\\\\"tpsa\\\\\\":64.21,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":78},{\\\\\\"id\\\\\\":94,\\\\\\"smiles\\\\\\":\\\\\\"Cn1cc(C(N)=O)c([C@@H]2CCCNC2)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":35,\\\\\\"prot_id\\\\\\":94,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x0692_1\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x0692_1_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 15 16 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.7720 -13.4490 -3.5790 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1880 -12.2250 -3.1030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3320 -16.1750 -6.8970 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2850 -14.1580 -4.6290 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0900 -15.2620 -4.7490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8700 -16.2700 -5.7610 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1040 -15.1640 -3.6990 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2560 -16.0880 -3.3410 C 0 0 2 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2650 -17.4510 -4.0690 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.3390 -18.3450 -3.4410 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -21.7150 -17.6720 -3.6020 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.6080 -15.4470 -3.6590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0730 -17.3590 -5.4050 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.8700 -14.0160 -2.9830 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -21.7420 -16.2560 -3.1590 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 1 1 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 3 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 7 5 1 0\\\\\\\\n 8 7 1 6\\\\\\\\n 9 8 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 13 6 1 0\\\\\\\\n 14 7 2 0\\\\\\\\n 14 1 1 0\\\\\\\\n 15 11 1 0\\\\\\\\n 15 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":208.13,\\\\\\"logp\\\\\\":-0.01,\\\\\\"tpsa\\\\\\":72.94,\\\\\\"ha\\\\\\":15,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":2,\\\\\\"rots\\\\\\":2,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":116,\\\\\\"smiles\\\\\\":\\\\\\"Nc1nccc(C(F)(F)F)n1\\\\\\",\\\\\\"cmpd_id\\\\\\":41,\\\\\\"prot_id\\\\\\":116,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1072_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1072_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 11 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -15.9070 -13.4480 -4.8350 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2780 -15.0640 -6.5530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6650 -14.4920 -5.2270 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2790 -12.9480 -3.5980 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0160 -14.4380 -3.3080 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.7210 -15.0500 -4.5420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5510 -14.3040 -7.5530 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.8610 -16.2570 -6.8350 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.9840 -15.2200 -6.5970 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5730 -11.9030 -3.1360 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3360 -13.4330 -2.8150 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 7 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 6 3 1 0\\\\\\\\n 8 2 1 0\\\\\\\\n 9 2 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 11 5 1 0\\\\\\\\n 11 4 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":163.04,\\\\\\"logp\\\\\\":1.08,\\\\\\"tpsa\\\\\\":51.8,\\\\\\"ha\\\\\\":11,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":120,\\\\\\"smiles\\\\\\":\\\\\\"O=c1[nH]cnc2cc(F)ccc12\\\\\\",\\\\\\"cmpd_id\\\\\\":42,\\\\\\"prot_id\\\\\\":120,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1078_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1078_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -14.9000 -12.4540 -5.1300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1670 -15.3380 -6.8530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4420 -13.8400 -2.2650 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1000 -15.8920 -5.9170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2680 -15.2880 -4.7170 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4220 -14.1940 -6.5980 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6150 -13.5970 -5.3590 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.0980 -11.8620 -3.9750 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5270 -14.1390 -4.4200 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.7090 -13.4870 -3.1700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9850 -15.9480 -8.0110 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9670 -12.3280 -2.9920 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 2 1 0\\\\\\\\n 7 6 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 2 0\\\\\\\\n 9 5 2 0\\\\\\\\n 9 7 1 0\\\\\\\\n 10 9 1 0\\\\\\\\n 10 3 2 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 12 8 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.06,\\\\\\"tpsa\\\\\\":45.75,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":2,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":124,\\\\\\"smiles\\\\\\":\\\\\\"Fc1cnc2[nH]ccc2c1\\\\\\",\\\\\\"cmpd_id\\\\\\":43,\\\\\\"prot_id\\\\\\":124,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1083_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1083_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 10 11 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.7410 -13.6180 -2.3720 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.2970 -15.2220 -4.1030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.5280 -14.5840 -2.8580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6940 -13.2730 -3.1650 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.8800 -12.2230 -4.0040 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2520 -13.1680 -4.9410 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3960 -13.8480 -4.4280 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2230 -14.8620 -4.9060 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.1490 -16.1790 -4.4870 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7500 -12.2720 -2.9050 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 4 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 2 2 0\\\\\\\\n 9 2 1 0\\\\\\\\n 10 4 1 0\\\\\\\\n 10 5 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":136.04,\\\\\\"logp\\\\\\":1.7,\\\\\\"tpsa\\\\\\":28.68,\\\\\\"ha\\\\\\":10,\\\\\\"hacc\\\\\\":1,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":50},{\\\\\\"id\\\\\\":127,\\\\\\"smiles\\\\\\":\\\\\\"FC(F)c1nnc2c(C(F)(F)F)cccn12\\\\\\",\\\\\\"cmpd_id\\\\\\":44,\\\\\\"prot_id\\\\\\":127,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1093_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1093_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.5910 -14.3090 -4.4190 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.2730 -17.0190 -4.5780 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0900 -16.1360 -4.9960 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3910 -16.2980 -6.1560 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2720 -15.4580 -6.4560 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.8690 -14.4770 -5.5980 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.6990 -15.1140 -4.0870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4860 -13.4330 -3.3630 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5230 -12.3290 -3.2490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -20.4040 -16.3530 -4.4500 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.1290 -17.6190 -3.3760 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5950 -11.6990 -4.4290 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.2570 -12.7620 -3.2430 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.5240 -18.0250 -5.4330 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.1980 -14.6980 -2.8660 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.4680 -13.7020 -2.4460 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 2 10 1 0\\\\\\\\n 3 2 1 0\\\\\\\\n 4 3 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 1 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 12 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 13 9 1 0\\\\\\\\n 14 2 1 0\\\\\\\\n 15 7 2 0\\\\\\\\n 16 15 1 0\\\\\\\\n 16 8 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":237.03,\\\\\\"logp\\\\\\":2.69,\\\\\\"tpsa\\\\\\":30.19,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":86},{\\\\\\"id\\\\\\":131,\\\\\\"smiles\\\\\\":\\\\\\"N#Cc1c(C(F)(F)F)cn2ccnc2c1Cl\\\\\\",\\\\\\"cmpd_id\\\\\\":45,\\\\\\"prot_id\\\\\\":131,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1211_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1211_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 16 17 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -16.8450 -13.1430 -2.6260 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9920 -14.9020 -3.9330 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0210 -13.9640 -3.6880 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.7110 -12.4310 -2.9820 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.2100 -12.7700 -4.2160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9690 -14.4410 -5.9120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.9690 -15.3320 -6.1360 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.0620 -16.0300 -7.5160 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9900 -15.5830 -5.1120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.0160 -16.5680 -5.2580 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3120 -17.3490 -7.4050 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.9820 -15.6140 -8.3680 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9700 -15.8560 -8.2490 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0110 -13.7530 -4.7030 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.7980 -17.3780 -5.4260 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -19.1890 -15.1150 -2.7430 Cl 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 3 2 1 0\\\\\\\\n 3 1 2 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 7 6 2 0\\\\\\\\n 8 7 1 0\\\\\\\\n 8 11 1 0\\\\\\\\n 9 7 1 0\\\\\\\\n 9 2 2 0\\\\\\\\n 10 9 1 0\\\\\\\\n 12 8 1 0\\\\\\\\n 13 8 1 0\\\\\\\\n 14 3 1 0\\\\\\\\n 14 6 1 0\\\\\\\\n 14 5 1 0\\\\\\\\n 15 10 3 0\\\\\\\\n 16 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":245,\\\\\\"logp\\\\\\":2.88,\\\\\\"tpsa\\\\\\":41.09,\\\\\\"ha\\\\\\":16,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":82},{\\\\\\"id\\\\\\":135,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2cccc(F)c12\\\\\\",\\\\\\"cmpd_id\\\\\\":46,\\\\\\"prot_id\\\\\\":135,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1212_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1212_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -14.9050 -12.6350 -5.1300 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3740 -15.3690 -4.7550 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5800 -13.8480 -2.2790 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.1640 -16.0470 -5.9180 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.1640 -15.5760 -6.8340 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4210 -14.4580 -6.5600 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.6420 -13.7720 -5.3490 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1540 -11.9950 -3.9730 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.7510 -13.4790 -3.2320 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6150 -14.2380 -4.4220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.3820 -15.7180 -3.9860 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.0560 -12.3700 -2.9740 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 2 0\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 2 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 1 2 0\\\\\\\\n 8 1 1 0\\\\\\\\n 9 3 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 2 1 0\\\\\\\\n 10 7 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 9 1 0\\\\\\\\n 12 8 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":139,\\\\\\"smiles\\\\\\":\\\\\\"Oc1ncnc2ccc(F)cc12\\\\\\",\\\\\\"cmpd_id\\\\\\":47,\\\\\\"prot_id\\\\\\":139,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1213_2\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1213_2_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 12 13 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -14.7520 -12.7090 -5.1050 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.2370 -15.9000 -5.9470 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.5660 -13.7520 -2.3440 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.2230 -15.4770 -6.9220 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.3970 -14.4660 -6.5870 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.5490 -13.8210 -5.3110 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.9850 -12.0380 -3.9850 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3840 -15.3140 -4.7030 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.5300 -14.2610 -4.4120 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.6570 -13.4820 -3.2540 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.0550 -16.8920 -6.2900 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.9200 -12.3880 -3.0260 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 0\\\\\\\\n 5 4 2 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 1 2 0\\\\\\\\n 7 1 1 0\\\\\\\\n 8 2 2 0\\\\\\\\n 9 8 1 0\\\\\\\\n 9 6 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 10 3 1 0\\\\\\\\n 11 2 1 0\\\\\\\\n 12 10 1 0\\\\\\\\n 12 7 2 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":164.04,\\\\\\"logp\\\\\\":1.47,\\\\\\"tpsa\\\\\\":46.01,\\\\\\"ha\\\\\\":12,\\\\\\"hacc\\\\\\":3,\\\\\\"hdon\\\\\\":1,\\\\\\"rots\\\\\\":0,\\\\\\"rings\\\\\\":2,\\\\\\"velec\\\\\\":60},{\\\\\\"id\\\\\\":144,\\\\\\"smiles\\\\\\":\\\\\\"CSc1nc(C(F)(F)F)cc(=O)n1C\\\\\\",\\\\\\"cmpd_id\\\\\\":48,\\\\\\"prot_id\\\\\\":144,\\\\\\"protein_code\\\\\\":\\\\\\"NUDT5A-x1214_3\\\\\\",\\\\\\"mol_type\\\\\\":\\\\\\"PR\\\\\\",\\\\\\"molecule_protein\\\\\\":\\\\\\"/media/pdbs/NUDT5A-x1214_3_apo.pdb\\\\\\",\\\\\\"lig_id\\\\\\":\\\\\\"LIG\\\\\\",\\\\\\"chain_id\\\\\\":\\\\\\"Z\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 14 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -17.4620 -14.6070 -4.3970 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.1400 -14.7190 -7.8760 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.2170 -14.1140 -2.3320 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4740 -14.3590 -5.3570 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -18.6100 -15.5520 -4.6100 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4350 -12.7960 -4.0810 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.3100 -11.7710 -4.0240 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.3030 -12.9390 -3.0530 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -17.3910 -13.8880 -3.1770 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.1870 -11.0860 -5.1780 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -14.4590 -10.8450 -3.0700 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -13.0830 -12.3340 -3.8700 F 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -15.4850 -13.4980 -5.2440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -16.4930 -15.2480 -6.8220 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 1 1 0\\\\\\\\n 5 1 1 0\\\\\\\\n 7 6 1 0\\\\\\\\n 7 10 1 0\\\\\\\\n 8 6 2 0\\\\\\\\n 9 3 2 0\\\\\\\\n 9 1 1 0\\\\\\\\n 9 8 1 0\\\\\\\\n 11 7 1 0\\\\\\\\n 12 7 1 0\\\\\\\\n 13 4 2 0\\\\\\\\n 13 6 1 0\\\\\\\\n 14 4 1 0\\\\\\\\n 14 2 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"x_com\\\\\\":null,\\\\\\"y_com\\\\\\":null,\\\\\\"z_com\\\\\\":null,\\\\\\"mw\\\\\\":224.02,\\\\\\"logp\\\\\\":1.52,\\\\\\"tpsa\\\\\\":34.89,\\\\\\"ha\\\\\\":14,\\\\\\"hacc\\\\\\":4,\\\\\\"hdon\\\\\\":0,\\\\\\"rots\\\\\\":1,\\\\\\"rings\\\\\\":1,\\\\\\"velec\\\\\\":78}]}},\\\\\\"duck_yank_data\\\\\\":{},\\\\\\"pandda_event_list\\\\\\":[],\\\\\\"pandda_site_list\\\\\\":[],\\\\\\"mol_group_on\\\\\\":1349,\\\\\\"target_on\\\\\\":1,\\\\\\"target_on_name\\\\\\":\\\\\\"NUDT5A\\\\\\",\\\\\\"isFetching\\\\\\":false,\\\\\\"app_on\\\\\\":\\\\\\"PREVIEW\\\\\\",\\\\\\"group_type\\\\\\":\\\\\\"MC\\\\\\",\\\\\\"hotspot_list\\\\\\":[],\\\\\\"savingState\\\\\\":\\\\\\"savingSession\\\\\\",\\\\\\"seshListSaving\\\\\\":false,\\\\\\"targetUnrecognised\\\\\\":false,\\\\\\"uuid\\\\\\":\\\\\\"UNSET\\\\\\",\\\\\\"sessionIdList\\\\\\":[],\\\\\\"latestSession\\\\\\":\\\\\\"f1b396af-87a6-4c59-8cb2-1eb37d08bc16\\\\\\"}},\\\\\\"nglReducers\\\\\\":{\\\\\\"present\\\\\\":{\\\\\\"objectsInView\\\\\\":{\\\\\\"MOLECULE-GROUP_1350\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1350\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-22.484894250297,28.3999801923385,-57.0342539559206],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"988340BA-EEEA-46B6-B4C0-627A38E3EE8C\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"988340BA-EEEA-46B6-B4C0-627A38E3EE8C\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1351\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1351\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-2.81695936344749,3.04520134701659,3.6844813876363],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"FCDC962A-01D1-4213-9A72-B312033FD6E1\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"FCDC962A-01D1-4213-9A72-B312033FD6E1\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1353\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1353\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-6.39705882352941,15.7078235294118,-24.2612352941176],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"48E9F28A-701E-40F7-9CC1-5C7DB0960526\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"48E9F28A-701E-40F7-9CC1-5C7DB0960526\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1354\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1354\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-52.3928823529412,9.81782352941177,-44.0535294117647],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"CA328D70-0F65-4457-9BF1-6B015A9FF083\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"CA328D70-0F65-4457-9BF1-6B015A9FF083\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1355\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1355\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[12.4376428571429,5.258,-4.62571428571429],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"78600ED4-50D4-4A86-8AAE-9157C087EC27\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"78600ED4-50D4-4A86-8AAE-9157C087EC27\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1356\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1356\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-10.4955049680239,-9.68024546470901,-8.32242130242049],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"8769B3E0-51D6-47EF-85FD-F0ED2758B157\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"8769B3E0-51D6-47EF-85FD-F0ED2758B157\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1357\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1357\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-8.16724968062983,2.81894853371173,-2.84670969915877],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"07BA9D97-22CD-45C1-A2E3-B4EDED5E2491\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"07BA9D97-22CD-45C1-A2E3-B4EDED5E2491\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1358\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1358\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-25.3682771564328,21.5258951736469,-52.7491056544548],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"01940046-20CD-4611-A2B5-8406C6C4A27A\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"01940046-20CD-4611-A2B5-8406C6C4A27A\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1359\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1359\\\\\\",\\\\\\"radius\\\\\\":4,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-33.276049496474,12.3248778435673,-59.8326882142243],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"981D71E4-AFF1-4062-9754-633A01B93CA7\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"981D71E4-AFF1-4062-9754-633A01B93CA7\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"261571BD-B0A4-4F22-85D7-42584B682868\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"261571BD-B0A4-4F22-85D7-42584B682868\\\\\\",\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1_MAIN\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1_MAIN\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"0304E408-8D37-47FF-B2D6-A3A9F7D3C9AA\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"0304E408-8D37-47FF-B2D6-A3A9F7D3C9AA\\\\\\",\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1352\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1352\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,1,0],\\\\\\"coords\\\\\\":[-17.04182333064,-14.5853546390328,-4.80279280511738],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"9C4D4B6D-6675-45E4-A90E-468C100BD303\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"9C4D4B6D-6675-45E4-A90E-468C100BD303\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1349\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1349\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,1,0],\\\\\\"coords\\\\\\":[-29.0779995245673,6.01491712123347,-63.9123385290991],\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"8846AC82-3978-4F2D-9193-5E3B893DF5FE\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"8846AC82-3978-4F2D-9193-5E3B893DF5FE\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-32.12,1.42,-65.738],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"91011E15-6EB4-4F98-B437-E7E0E722091F\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"91011E15-6EB4-4F98-B437-E7E0E722091F\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-33.15092700313684,5.630176759848748,-64.8115775850715],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"799CAA2C-A28C-4A1A-B01B-4D586660E764\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"799CAA2C-A28C-4A1A-B01B-4D586660E764\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-34.34784883356808,4.82806297255051,-63.77178758873543],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"C294097C-52D1-4A7F-81DA-21B6E251C018\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"C294097C-52D1-4A7F-81DA-21B6E251C018\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.555187817847973,3.307572066651391,-66.2672872220088],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"B14DA26F-76E6-43B4-AEDC-FD6B86A9A971\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"B14DA26F-76E6-43B4-AEDC-FD6B86A9A971\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-31.49037262841551,2.428873005958751,-63.348212409286845],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"D98126E9-8E88-47EB-8B63-A9D5151847D0\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"D98126E9-8E88-47EB-8B63-A9D5151847D0\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-28.109,7.031,-63.742],\\\\\\"end\\\\\\":[-28.795814336938214,7.757694676443554,-63.28352326797892],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"F08D6D6A-5223-4C6D-BDA2-31939916019C\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"F08D6D6A-5223-4C6D-BDA2-31939916019C\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-33.83188550795935,3.9895103567263064,-66.35925995565532],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"0298BC2E-D4D8-46C2-AF24-A772CC7469A1\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"0298BC2E-D4D8-46C2-AF24-A772CC7469A1\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-34.356827212237505,2.8487217682243586,-65.13648845293089],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"E7F54475-C590-41F0-8EC6-7F4BDAE81DA7\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"E7F54475-C590-41F0-8EC6-7F4BDAE81DA7\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-30.064,3.756,-64.27],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"175C3AF3-AF77-412E-952E-34A35F0F1038\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"175C3AF3-AF77-412E-952E-34A35F0F1038\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[Xe].O=C([Xe])Nc1cnns1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[Xe].O=C([Xe])Nc1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.53,3.284,-64.039],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"2A55BDCC-489E-4C81-B06C-9A1C6B93B4F9\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"2A55BDCC-489E-4C81-B06C-9A1C6B93B4F9\\\\\\",\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE_3\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE_3\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"MOLECULE\\\\\\",\\\\\\"colour\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"LIGAND\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"915A00D2-DFFE-4F61-8048-6D65ACADD1AC\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"915A00D2-DFFE-4F61-8048-6D65ACADD1AC\\\\\\",\\\\\\"type\\\\\\":\\\\\\"ball+stick\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"sphereDetail\\\\\\":1,\\\\\\"radialSegments\\\\\\":10,\\\\\\"openEnded\\\\\\":true,\\\\\\"disableImpostor\\\\\\":false,\\\\\\"aspectRatio\\\\\\":2,\\\\\\"lineOnly\\\\\\":false,\\\\\\"cylinderOnly\\\\\\":false,\\\\\\"multipleBond\\\\\\":true,\\\\\\"bondScale\\\\\\":0.4,\\\\\\"bondSpacing\\\\\\":1,\\\\\\"linewidth\\\\\\":2,\\\\\\"radiusType\\\\\\":\\\\\\"size\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":0.15,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"sphereDetail\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":3,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":25,\\\\\\"min\\\\\\":5,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"openEnded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disableImpostor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1},\\\\\\"lineOnly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"cylinderOnly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"multipleBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"symmetric\\\\\\":\\\\\\"symmetric\\\\\\",\\\\\\"offset\\\\\\":\\\\\\"offset\\\\\\"}},\\\\\\"bondScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.01},\\\\\\"bondSpacing\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.5},\\\\\\"linewidth\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"NUDT5A-x0114_3_COMP\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"NUDT5A-x0114_3_COMP\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"COMPLEX\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"colour\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_3_apo.pdb\\\\\\",\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"COMPLEX\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"lastKnownID\\\\\\":\\\\\\"427A918A-A87C-48E8-B9F3-E1CDE1E17BEF\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"427A918A-A87C-48E8-B9F3-E1CDE1E17BEF\\\\\\",\\\\\\"type\\\\\\":\\\\\\"line\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"multipleBond\\\\\\":\\\\\\"off\\\\\\",\\\\\\"bondSpacing\\\\\\":1,\\\\\\"linewidth\\\\\\":2,\\\\\\"lines\\\\\\":true,\\\\\\"crosses\\\\\\":\\\\\\"lone\\\\\\",\\\\\\"crossSize\\\\\\":0.4,\\\\\\"radiusType\\\\\\":\\\\\\"vdw\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"/0\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"multipleBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"symmetric\\\\\\":\\\\\\"symmetric\\\\\\",\\\\\\"offset\\\\\\":\\\\\\"offset\\\\\\"}},\\\\\\"bondSpacing\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.5},\\\\\\"linewidth\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"lines\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"crosses\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"lone\\\\\\":\\\\\\"lone\\\\\\",\\\\\\"all\\\\\\":\\\\\\"all\\\\\\"}},\\\\\\"crossSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.1},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":null,\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":null,\\\\\\"wireframe\\\\\\":null,\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":null,\\\\\\"metalness\\\\\\":null,\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}},{\\\\\\"lastKnownID\\\\\\":\\\\\\"D5414BEE-A683-44DC-BFC2-FB218533F1EF\\\\\\",\\\\\\"uuid\\\\\\":\\\\\\"D5414BEE-A683-44DC-BFC2-FB218533F1EF\\\\\\",\\\\\\"type\\\\\\":\\\\\\"contact\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"hydrogenBond\\\\\\":true,\\\\\\"weakHydrogenBond\\\\\\":true,\\\\\\"waterHydrogenBond\\\\\\":false,\\\\\\"backboneHydrogenBond\\\\\\":false,\\\\\\"hydrophobic\\\\\\":false,\\\\\\"halogenBond\\\\\\":true,\\\\\\"ionicInteraction\\\\\\":true,\\\\\\"metalCoordination\\\\\\":true,\\\\\\"cationPi\\\\\\":true,\\\\\\"piStacking\\\\\\":true,\\\\\\"filterSele\\\\\\":\\\\\\"\\\\\\",\\\\\\"labelVisible\\\\\\":false,\\\\\\"labelFixedSize\\\\\\":false,\\\\\\"labelSize\\\\\\":2,\\\\\\"labelUnit\\\\\\":\\\\\\"\\\\\\",\\\\\\"maxHydrophobicDist\\\\\\":4,\\\\\\"maxHbondDist\\\\\\":3.5,\\\\\\"maxHbondSulfurDist\\\\\\":4.1,\\\\\\"maxHbondAccAngle\\\\\\":45,\\\\\\"maxHbondDonAngle\\\\\\":45,\\\\\\"maxHbondAccPlaneAngle\\\\\\":90,\\\\\\"maxHbondDonPlaneAngle\\\\\\":35,\\\\\\"maxPiStackingDist\\\\\\":5.5,\\\\\\"maxPiStackingOffset\\\\\\":2,\\\\\\"maxPiStackingAngle\\\\\\":30,\\\\\\"maxCationPiDist\\\\\\":6,\\\\\\"maxCationPiOffset\\\\\\":2,\\\\\\"maxIonicDist\\\\\\":5,\\\\\\"maxHalogenBondDist\\\\\\":3.5,\\\\\\"maxHalogenBondAngle\\\\\\":30,\\\\\\"maxMetalDist\\\\\\":3,\\\\\\"refineSaltBridges\\\\\\":true,\\\\\\"masterModelIndex\\\\\\":0,\\\\\\"lineOfSightDistFactor\\\\\\":1,\\\\\\"radialSegments\\\\\\":10,\\\\\\"disableImpostor\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"vdw\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":0.05,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"/0 or /1\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"hydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"weakHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"waterHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"backboneHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"hydrophobic\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"halogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"ionicInteraction\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"metalCoordination\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"cationPi\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"piStacking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"filterSele\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"text\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"labelVisible\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"labelFixedSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":\\\\\\"fixedSize\\\\\\"},\\\\\\"labelSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001,\\\\\\"rebuild\\\\\\":true},\\\\\\"labelUnit\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"angstrom\\\\\\":\\\\\\"angstrom\\\\\\",\\\\\\"nm\\\\\\":\\\\\\"nm\\\\\\"}},\\\\\\"maxHydrophobicDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondSulfurDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondAccAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDonAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondAccPlaneAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":90,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDonPlaneAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":90,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingOffset\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxCationPiDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxCationPiOffset\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxIonicDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHalogenBondDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHalogenBondAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxMetalDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"refineSaltBridges\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"masterModelIndex\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":-1,\\\\\\"rebuild\\\\\\":true},\\\\\\"lineOfSightDistFactor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":25,\\\\\\"min\\\\\\":5,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"disableImpostor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]}},\\\\\\"nglOrientations\\\\\\":{\\\\\\"summary_view\\\\\\":{\\\\\\"elements\\\\\\":[148.09238881012894,13.507533911039106,29.332631971841778,0,9.275195682527986,114.08403454115407,-99.36305249994771,0,-30.93262865978577,98.87665035132754,110.63811682119734,0,29.0779995245673,-6.01491712123347,63.9123385290991,1]},\\\\\\"major_view\\\\\\":{\\\\\\"elements\\\\\\":[35.87197679035059,0,0,0,0,35.87197679035059,0,0,0,0,35.87197679035059,0,29.839500427246094,-4.364000022411346,64.59249877929688,1]}},\\\\\\"viewParams\\\\\\":{\\\\\\"backgroundColor\\\\\\":\\\\\\"black\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipFar\\\\\\":100,\\\\\\"clipDist\\\\\\":10,\\\\\\"fogNear\\\\\\":50,\\\\\\"fogFar\\\\\\":100},\\\\\\"defaultScene\\\\\\":{\\\\\\"objectsInView\\\\\\":{\\\\\\"MOLECULE-GROUP_1349\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1349\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-29.0779995245673,6.01491712123347,-63.9123385290991],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1350\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1350\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-22.484894250297,28.3999801923385,-57.0342539559206],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1351\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1351\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-2.81695936344749,3.04520134701659,3.6844813876363],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1352\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1352\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-17.04182333064,-14.5853546390328,-4.80279280511738],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1353\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1353\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-6.39705882352941,15.7078235294118,-24.2612352941176],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1354\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1354\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-52.3928823529412,9.81782352941177,-44.0535294117647],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1355\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1355\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[12.4376428571429,5.258,-4.62571428571429],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1356\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1356\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-10.4955049680239,-9.68024546470901,-8.32242130242049],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1357\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1357\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-8.16724968062983,2.81894853371173,-2.84670969915877],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1358\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1358\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-25.3682771564328,21.5258951736469,-52.7491056544548],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1359\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1359\\\\\\",\\\\\\"radius\\\\\\":4,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-33.276049496474,12.3248778435673,-59.8326882142243],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1_MAIN\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1_MAIN\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]}},\\\\\\"nglOrientations\\\\\\":{\\\\\\"summary_view\\\\\\":{\\\\\\"elements\\\\\\":[151.57246581831345,0,0,0,0,151.57246581831345,0,0,0,0,151.57246581831345,0,20.63599967956543,-9.788999557495117,30.652498722076416,1]},\\\\\\"major_view\\\\\\":{\\\\\\"elements\\\\\\":[175.71917143685755,0,0,0,0,175.71917143685755,0,0,0,0,175.71917143685755,0,20.63599967956543,-9.788999557495117,30.652498722076416,1]}},\\\\\\"viewParams\\\\\\":{\\\\\\"backgroundColor\\\\\\":\\\\\\"black\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipFar\\\\\\":100,\\\\\\"clipDist\\\\\\":10,\\\\\\"fogNear\\\\\\":50,\\\\\\"fogFar\\\\\\":100},\\\\\\"sessionScene\\\\\\":{}},\\\\\\"sessionScene\\\\\\":{\\\\\\"objectsInView\\\\\\":{\\\\\\"MOLECULE-GROUP_1350\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1350\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-22.484894250297,28.3999801923385,-57.0342539559206],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1351\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1351\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-2.81695936344749,3.04520134701659,3.6844813876363],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1353\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1353\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-6.39705882352941,15.7078235294118,-24.2612352941176],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1354\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1354\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-52.3928823529412,9.81782352941177,-44.0535294117647],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1355\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1355\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[12.4376428571429,5.258,-4.62571428571429],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1356\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1356\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-10.4955049680239,-9.68024546470901,-8.32242130242049],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1357\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1357\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-8.16724968062983,2.81894853371173,-2.84670969915877],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1358\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1358\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-25.3682771564328,21.5258951736469,-52.7491056544548],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1359\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1359\\\\\\",\\\\\\"radius\\\\\\":4,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-33.276049496474,12.3248778435673,-59.8326882142243],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1_MAIN\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1_MAIN\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1352\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1352\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,1,0],\\\\\\"coords\\\\\\":[-17.04182333064,-14.5853546390328,-4.80279280511738],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1349\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1349\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,1,0],\\\\\\"coords\\\\\\":[-29.0779995245673,6.01491712123347,-63.9123385290991],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-32.12,1.42,-65.738],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-33.15092700313684,5.630176759848748,-64.8115775850715],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-34.34784883356808,4.82806297255051,-63.77178758873543],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.555187817847973,3.307572066651391,-66.2672872220088],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-31.49037262841551,2.428873005958751,-63.348212409286845],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-28.109,7.031,-63.742],\\\\\\"end\\\\\\":[-28.795814336938214,7.757694676443554,-63.28352326797892],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__0\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-33.83188550795935,3.9895103567263064,-66.35925995565532],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-34.356827212237505,2.8487217682243586,-65.13648845293089],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-30.064,3.756,-64.27],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"VECTOR_C[Xe].O=C([Xe])Nc1cnns1\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[Xe].O=C([Xe])Nc1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.53,3.284,-64.039],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE_3\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE_3\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"MOLECULE\\\\\\",\\\\\\"colour\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"LIGAND\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"ball+stick\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"sphereDetail\\\\\\":1,\\\\\\"radialSegments\\\\\\":10,\\\\\\"openEnded\\\\\\":true,\\\\\\"disableImpostor\\\\\\":false,\\\\\\"aspectRatio\\\\\\":2,\\\\\\"lineOnly\\\\\\":false,\\\\\\"cylinderOnly\\\\\\":false,\\\\\\"multipleBond\\\\\\":true,\\\\\\"bondScale\\\\\\":0.4,\\\\\\"bondSpacing\\\\\\":1,\\\\\\"linewidth\\\\\\":2,\\\\\\"radiusType\\\\\\":\\\\\\"size\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":0.15,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"sphereDetail\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":3,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":25,\\\\\\"min\\\\\\":5,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"openEnded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disableImpostor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1},\\\\\\"lineOnly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"cylinderOnly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"multipleBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"symmetric\\\\\\":\\\\\\"symmetric\\\\\\",\\\\\\"offset\\\\\\":\\\\\\"offset\\\\\\"}},\\\\\\"bondScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.01},\\\\\\"bondSpacing\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.5},\\\\\\"linewidth\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"NUDT5A-x0114_3_COMP\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"name\\\\\\":\\\\\\"NUDT5A-x0114_3_COMP\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"COMPLEX\\\\\\",\\\\\\"sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"colour\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_3_apo.pdb\\\\\\",\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"COMPLEX\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"line\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"multipleBond\\\\\\":\\\\\\"off\\\\\\",\\\\\\"bondSpacing\\\\\\":1,\\\\\\"linewidth\\\\\\":2,\\\\\\"lines\\\\\\":true,\\\\\\"crosses\\\\\\":\\\\\\"lone\\\\\\",\\\\\\"crossSize\\\\\\":0.4,\\\\\\"radiusType\\\\\\":\\\\\\"vdw\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":\\\\\\"#78DBE2\\\\\\",\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"/0\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"multipleBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"symmetric\\\\\\":\\\\\\"symmetric\\\\\\",\\\\\\"offset\\\\\\":\\\\\\"offset\\\\\\"}},\\\\\\"bondSpacing\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.5},\\\\\\"linewidth\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"lines\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"crosses\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"off\\\\\\":\\\\\\"off\\\\\\",\\\\\\"lone\\\\\\":\\\\\\"lone\\\\\\",\\\\\\"all\\\\\\":\\\\\\"all\\\\\\"}},\\\\\\"crossSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":2,\\\\\\"max\\\\\\":2,\\\\\\"min\\\\\\":0.1},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":null,\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":null,\\\\\\"wireframe\\\\\\":null,\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":null,\\\\\\"metalness\\\\\\":null,\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}},{\\\\\\"type\\\\\\":\\\\\\"contact\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"hydrogenBond\\\\\\":true,\\\\\\"weakHydrogenBond\\\\\\":true,\\\\\\"waterHydrogenBond\\\\\\":false,\\\\\\"backboneHydrogenBond\\\\\\":false,\\\\\\"hydrophobic\\\\\\":false,\\\\\\"halogenBond\\\\\\":true,\\\\\\"ionicInteraction\\\\\\":true,\\\\\\"metalCoordination\\\\\\":true,\\\\\\"cationPi\\\\\\":true,\\\\\\"piStacking\\\\\\":true,\\\\\\"filterSele\\\\\\":\\\\\\"\\\\\\",\\\\\\"labelVisible\\\\\\":false,\\\\\\"labelFixedSize\\\\\\":false,\\\\\\"labelSize\\\\\\":2,\\\\\\"labelUnit\\\\\\":\\\\\\"\\\\\\",\\\\\\"maxHydrophobicDist\\\\\\":4,\\\\\\"maxHbondDist\\\\\\":3.5,\\\\\\"maxHbondSulfurDist\\\\\\":4.1,\\\\\\"maxHbondAccAngle\\\\\\":45,\\\\\\"maxHbondDonAngle\\\\\\":45,\\\\\\"maxHbondAccPlaneAngle\\\\\\":90,\\\\\\"maxHbondDonPlaneAngle\\\\\\":35,\\\\\\"maxPiStackingDist\\\\\\":5.5,\\\\\\"maxPiStackingOffset\\\\\\":2,\\\\\\"maxPiStackingAngle\\\\\\":30,\\\\\\"maxCationPiDist\\\\\\":6,\\\\\\"maxCationPiOffset\\\\\\":2,\\\\\\"maxIonicDist\\\\\\":5,\\\\\\"maxHalogenBondDist\\\\\\":3.5,\\\\\\"maxHalogenBondAngle\\\\\\":30,\\\\\\"maxMetalDist\\\\\\":3,\\\\\\"refineSaltBridges\\\\\\":true,\\\\\\"masterModelIndex\\\\\\":0,\\\\\\"lineOfSightDistFactor\\\\\\":1,\\\\\\"radialSegments\\\\\\":10,\\\\\\"disableImpostor\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"vdw\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":0.05,\\\\\\"radiusScale\\\\\\":1,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"element\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"/0 or /1\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"hydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"weakHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"waterHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"backboneHydrogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"hydrophobic\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"halogenBond\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"ionicInteraction\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"metalCoordination\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"cationPi\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"piStacking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"filterSele\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"text\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"labelVisible\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"labelFixedSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":\\\\\\"fixedSize\\\\\\"},\\\\\\"labelSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001,\\\\\\"rebuild\\\\\\":true},\\\\\\"labelUnit\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"rebuild\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"angstrom\\\\\\":\\\\\\"angstrom\\\\\\",\\\\\\"nm\\\\\\":\\\\\\"nm\\\\\\"}},\\\\\\"maxHydrophobicDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondSulfurDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondAccAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDonAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondAccPlaneAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":90,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHbondDonPlaneAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":90,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingOffset\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxPiStackingAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxCationPiDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxCationPiOffset\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxIonicDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHalogenBondDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxHalogenBondAngle\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":180,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"maxMetalDist\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.1,\\\\\\"rebuild\\\\\\":true},\\\\\\"refineSaltBridges\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"masterModelIndex\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":-1,\\\\\\"rebuild\\\\\\":true},\\\\\\"lineOfSightDistFactor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":25,\\\\\\"min\\\\\\":5,\\\\\\"rebuild\\\\\\":\\\\\\"impostor\\\\\\"},\\\\\\"disableImpostor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"FULL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]}},\\\\\\"nglOrientations\\\\\\":{\\\\\\"summary_view\\\\\\":{\\\\\\"elements\\\\\\":[148.09238881012894,13.507533911039106,29.332631971841778,0,9.275195682527986,114.08403454115407,-99.36305249994771,0,-30.93262865978577,98.87665035132754,110.63811682119734,0,29.0779995245673,-6.01491712123347,63.9123385290991,1]},\\\\\\"major_view\\\\\\":{\\\\\\"elements\\\\\\":[35.87197679035059,0,0,0,0,35.87197679035059,0,0,0,0,35.87197679035059,0,29.839500427246094,-4.364000022411346,64.59249877929688,1]}},\\\\\\"viewParams\\\\\\":{\\\\\\"backgroundColor\\\\\\":\\\\\\"black\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipFar\\\\\\":100,\\\\\\"clipDist\\\\\\":10,\\\\\\"fogNear\\\\\\":50,\\\\\\"fogFar\\\\\\":100},\\\\\\"defaultScene\\\\\\":{\\\\\\"objectsInView\\\\\\":{\\\\\\"MOLECULE-GROUP_1349\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1349\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-29.0779995245673,6.01491712123347,-63.9123385290991],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1350\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1350\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-22.484894250297,28.3999801923385,-57.0342539559206],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1351\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1351\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-2.81695936344749,3.04520134701659,3.6844813876363],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1352\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1352\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-17.04182333064,-14.5853546390328,-4.80279280511738],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1353\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1353\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-6.39705882352941,15.7078235294118,-24.2612352941176],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1354\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1354\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-52.3928823529412,9.81782352941177,-44.0535294117647],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1355\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1355\\\\\\",\\\\\\"radius\\\\\\":2,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[12.4376428571429,5.258,-4.62571428571429],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1356\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1356\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-10.4955049680239,-9.68024546470901,-8.32242130242049],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1357\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1357\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-8.16724968062983,2.81894853371173,-2.84670969915877],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1358\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1358\\\\\\",\\\\\\"radius\\\\\\":6,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-25.3682771564328,21.5258951736469,-52.7491056544548],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"MOLECULE-GROUP_1359\\\\\\":{\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"SPHERE\\\\\\",\\\\\\"name\\\\\\":\\\\\\"MOLECULE-GROUP_1359\\\\\\",\\\\\\"radius\\\\\\":4,\\\\\\"colour\\\\\\":[0,0,1],\\\\\\"coords\\\\\\":[-33.276049496474,12.3248778435673,-59.8326882142243],\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"buffer\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorReverse\\\\\\":false,\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":false,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false},\\\\\\"templateParams\\\\\\":{\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":null,\\\\\\"colorScale\\\\\\":null,\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":null,\\\\\\"colorDomain\\\\\\":null,\\\\\\"colorMode\\\\\\":null,\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"summary_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]},\\\\\\"PROTEIN_1_MAIN\\\\\\":{\\\\\\"name\\\\\\":\\\\\\"PROTEIN_1_MAIN\\\\\\",\\\\\\"prot_url\\\\\\":\\\\\\"http://localhost:8080/media/pdbs/NUDT5A-x0114_1_apo.pdb\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"PROTEIN\\\\\\",\\\\\\"nglProtStyle\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"display_div\\\\\\":\\\\\\"major_view\\\\\\",\\\\\\"representations\\\\\\":[{\\\\\\"type\\\\\\":\\\\\\"cartoon\\\\\\",\\\\\\"params\\\\\\":{\\\\\\"lazy\\\\\\":false,\\\\\\"visible\\\\\\":true,\\\\\\"quality\\\\\\":\\\\\\"medium\\\\\\",\\\\\\"aspectRatio\\\\\\":5,\\\\\\"subdiv\\\\\\":6,\\\\\\"radialSegments\\\\\\":10,\\\\\\"tension\\\\\\":null,\\\\\\"capped\\\\\\":true,\\\\\\"smoothSheet\\\\\\":false,\\\\\\"radiusType\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"radiusData\\\\\\":{},\\\\\\"radiusSize\\\\\\":1,\\\\\\"radiusScale\\\\\\":0.7,\\\\\\"assembly\\\\\\":\\\\\\"default\\\\\\",\\\\\\"defaultAssembly\\\\\\":\\\\\\"\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipRadius\\\\\\":0,\\\\\\"clipCenter\\\\\\":{\\\\\\"x\\\\\\":0,\\\\\\"y\\\\\\":0,\\\\\\"z\\\\\\":0},\\\\\\"flatShaded\\\\\\":false,\\\\\\"opacity\\\\\\":1,\\\\\\"depthWrite\\\\\\":true,\\\\\\"side\\\\\\":\\\\\\"double\\\\\\",\\\\\\"wireframe\\\\\\":false,\\\\\\"colorScheme\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"colorScale\\\\\\":\\\\\\"RdYlBu\\\\\\",\\\\\\"colorReverse\\\\\\":false,\\\\\\"colorValue\\\\\\":9474192,\\\\\\"colorMode\\\\\\":\\\\\\"hcl\\\\\\",\\\\\\"roughness\\\\\\":0.4,\\\\\\"metalness\\\\\\":0,\\\\\\"diffuse\\\\\\":16777215,\\\\\\"diffuseInterior\\\\\\":false,\\\\\\"useInteriorColor\\\\\\":true,\\\\\\"interiorColor\\\\\\":2236962,\\\\\\"interiorDarkening\\\\\\":0,\\\\\\"matrix\\\\\\":{\\\\\\"elements\\\\\\":[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},\\\\\\"disablePicking\\\\\\":false,\\\\\\"sele\\\\\\":\\\\\\"\\\\\\"},\\\\\\"templateParams\\\\\\":{\\\\\\"aspectRatio\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"subdiv\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"radialSegments\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"integer\\\\\\",\\\\\\"max\\\\\\":50,\\\\\\"min\\\\\\":1,\\\\\\"rebuild\\\\\\":true},\\\\\\"tension\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0.1},\\\\\\"capped\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"smoothSheet\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true},\\\\\\"radiusType\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"vdw\\\\\\":\\\\\\"by vdW radius\\\\\\",\\\\\\"covalent\\\\\\":\\\\\\"by covalent radius\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"by secondary structure\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"by bfactor\\\\\\",\\\\\\"size\\\\\\":\\\\\\"size\\\\\\",\\\\\\"data\\\\\\":\\\\\\"data\\\\\\",\\\\\\"explicit\\\\\\":\\\\\\"explicit\\\\\\"}},\\\\\\"radiusData\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"radiusSize\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"radiusScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":3,\\\\\\"max\\\\\\":10,\\\\\\"min\\\\\\":0.001},\\\\\\"assembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"default\\\\\\":\\\\\\"default\\\\\\",\\\\\\"\\\\\\":\\\\\\"AU\\\\\\",\\\\\\"UNITCELL\\\\\\":\\\\\\"UNITCELL\\\\\\",\\\\\\"SUPERCELL\\\\\\":\\\\\\"SUPERCELL\\\\\\"},\\\\\\"rebuild\\\\\\":true},\\\\\\"defaultAssembly\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\"},\\\\\\"lazy\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\"},\\\\\\"clipNear\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":1,\\\\\\"max\\\\\\":100,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipRadius\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"number\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"max\\\\\\":1000,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"clipCenter\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"vector3\\\\\\",\\\\\\"precision\\\\\\":1,\\\\\\"buffer\\\\\\":true},\\\\\\"flatShaded\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"opacity\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"depthWrite\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"side\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"buffer\\\\\\":true,\\\\\\"options\\\\\\":{\\\\\\"front\\\\\\":\\\\\\"front\\\\\\",\\\\\\"back\\\\\\":\\\\\\"back\\\\\\",\\\\\\"double\\\\\\":\\\\\\"double\\\\\\"}},\\\\\\"wireframe\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"colorScheme\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"atomindex\\\\\\":\\\\\\"atomindex\\\\\\",\\\\\\"bfactor\\\\\\":\\\\\\"bfactor\\\\\\",\\\\\\"chainid\\\\\\":\\\\\\"chainid\\\\\\",\\\\\\"chainindex\\\\\\":\\\\\\"chainindex\\\\\\",\\\\\\"chainname\\\\\\":\\\\\\"chainname\\\\\\",\\\\\\"densityfit\\\\\\":\\\\\\"densityfit\\\\\\",\\\\\\"electrostatic\\\\\\":\\\\\\"electrostatic\\\\\\",\\\\\\"element\\\\\\":\\\\\\"element\\\\\\",\\\\\\"entityindex\\\\\\":\\\\\\"entityindex\\\\\\",\\\\\\"entitytype\\\\\\":\\\\\\"entitytype\\\\\\",\\\\\\"geoquality\\\\\\":\\\\\\"geoquality\\\\\\",\\\\\\"hydrophobicity\\\\\\":\\\\\\"hydrophobicity\\\\\\",\\\\\\"modelindex\\\\\\":\\\\\\"modelindex\\\\\\",\\\\\\"moleculetype\\\\\\":\\\\\\"moleculetype\\\\\\",\\\\\\"occupancy\\\\\\":\\\\\\"occupancy\\\\\\",\\\\\\"partialcharge\\\\\\":\\\\\\"partialcharge\\\\\\",\\\\\\"random\\\\\\":\\\\\\"random\\\\\\",\\\\\\"randomcoilindex\\\\\\":\\\\\\"randomcoilindex\\\\\\",\\\\\\"residueindex\\\\\\":\\\\\\"residueindex\\\\\\",\\\\\\"resname\\\\\\":\\\\\\"resname\\\\\\",\\\\\\"sstruc\\\\\\":\\\\\\"sstruc\\\\\\",\\\\\\"uniform\\\\\\":\\\\\\"uniform\\\\\\",\\\\\\"value\\\\\\":\\\\\\"value\\\\\\",\\\\\\"volume\\\\\\":\\\\\\"volume\\\\\\"}},\\\\\\"colorScale\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"OrRd\\\\\\":\\\\\\"[S] Orange-Red\\\\\\",\\\\\\"PuBu\\\\\\":\\\\\\"[S] Purple-Blue\\\\\\",\\\\\\"BuPu\\\\\\":\\\\\\"[S] Blue-Purple\\\\\\",\\\\\\"Oranges\\\\\\":\\\\\\"[S] Oranges\\\\\\",\\\\\\"BuGn\\\\\\":\\\\\\"[S] Blue-Green\\\\\\",\\\\\\"YlOrBr\\\\\\":\\\\\\"[S] Yellow-Orange-Brown\\\\\\",\\\\\\"YlGn\\\\\\":\\\\\\"[S] Yellow-Green\\\\\\",\\\\\\"Reds\\\\\\":\\\\\\"[S] Reds\\\\\\",\\\\\\"RdPu\\\\\\":\\\\\\"[S] Red-Purple\\\\\\",\\\\\\"Greens\\\\\\":\\\\\\"[S] Greens\\\\\\",\\\\\\"YlGnBu\\\\\\":\\\\\\"[S] Yellow-Green-Blue\\\\\\",\\\\\\"Purples\\\\\\":\\\\\\"[S] Purples\\\\\\",\\\\\\"GnBu\\\\\\":\\\\\\"[S] Green-Blue\\\\\\",\\\\\\"Greys\\\\\\":\\\\\\"[S] Greys\\\\\\",\\\\\\"YlOrRd\\\\\\":\\\\\\"[S] Yellow-Orange-Red\\\\\\",\\\\\\"PuRd\\\\\\":\\\\\\"[S] Purple-Red\\\\\\",\\\\\\"Blues\\\\\\":\\\\\\"[S] Blues\\\\\\",\\\\\\"PuBuGn\\\\\\":\\\\\\"[S] Purple-Blue-Green\\\\\\",\\\\\\"Viridis\\\\\\":\\\\\\"[D] Viridis\\\\\\",\\\\\\"Spectral\\\\\\":\\\\\\"[D] Spectral\\\\\\",\\\\\\"RdYlGn\\\\\\":\\\\\\"[D] Red-Yellow-Green\\\\\\",\\\\\\"RdBu\\\\\\":\\\\\\"[D] Red-Blue\\\\\\",\\\\\\"PiYG\\\\\\":\\\\\\"[D] Pink-Yellowgreen\\\\\\",\\\\\\"PRGn\\\\\\":\\\\\\"[D] Purplered-Green\\\\\\",\\\\\\"RdYlBu\\\\\\":\\\\\\"[D] Red-Yellow-Blue\\\\\\",\\\\\\"BrBG\\\\\\":\\\\\\"[D] Brown-Bluegreen\\\\\\",\\\\\\"RdGy\\\\\\":\\\\\\"[D] Red-Grey\\\\\\",\\\\\\"PuOr\\\\\\":\\\\\\"[D] Purple-Orange\\\\\\",\\\\\\"Set1\\\\\\":\\\\\\"[Q] Set1\\\\\\",\\\\\\"Set2\\\\\\":\\\\\\"[Q] Set2\\\\\\",\\\\\\"Set3\\\\\\":\\\\\\"[Q] Set3\\\\\\",\\\\\\"Dark2\\\\\\":\\\\\\"[Q] Dark2\\\\\\",\\\\\\"Paired\\\\\\":\\\\\\"[Q] Paired\\\\\\",\\\\\\"Pastel1\\\\\\":\\\\\\"[Q] Pastel1\\\\\\",\\\\\\"Pastel2\\\\\\":\\\\\\"[Q] Pastel2\\\\\\",\\\\\\"Accent\\\\\\":\\\\\\"[Q] Accent\\\\\\",\\\\\\"rainbow\\\\\\":\\\\\\"[?] Rainbow\\\\\\",\\\\\\"rwb\\\\\\":\\\\\\"[?] Red-White-Blue\\\\\\"}},\\\\\\"colorReverse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorValue\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorDomain\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\"},\\\\\\"colorMode\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"select\\\\\\",\\\\\\"update\\\\\\":\\\\\\"color\\\\\\",\\\\\\"options\\\\\\":{\\\\\\"\\\\\\":\\\\\\"\\\\\\",\\\\\\"rgb\\\\\\":\\\\\\"Red Green Blue\\\\\\",\\\\\\"hsv\\\\\\":\\\\\\"Hue Saturation Value\\\\\\",\\\\\\"hsl\\\\\\":\\\\\\"Hue Saturation Lightness\\\\\\",\\\\\\"hsi\\\\\\":\\\\\\"Hue Saturation Intensity\\\\\\",\\\\\\"lab\\\\\\":\\\\\\"CIE L*a*b*\\\\\\",\\\\\\"hcl\\\\\\":\\\\\\"Hue Chroma Lightness\\\\\\"}},\\\\\\"roughness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"metalness\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"diffuse\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"diffuseInterior\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"useInteriorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorColor\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"color\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"interiorDarkening\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"range\\\\\\",\\\\\\"step\\\\\\":0.01,\\\\\\"max\\\\\\":1,\\\\\\"min\\\\\\":0,\\\\\\"buffer\\\\\\":true},\\\\\\"matrix\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"hidden\\\\\\",\\\\\\"buffer\\\\\\":true},\\\\\\"disablePicking\\\\\\":{\\\\\\"type\\\\\\":\\\\\\"boolean\\\\\\",\\\\\\"rebuild\\\\\\":true}}}]}},\\\\\\"nglOrientations\\\\\\":{\\\\\\"summary_view\\\\\\":{\\\\\\"elements\\\\\\":[151.57246581831345,0,0,0,0,151.57246581831345,0,0,0,0,151.57246581831345,0,20.63599967956543,-9.788999557495117,30.652498722076416,1]},\\\\\\"major_view\\\\\\":{\\\\\\"elements\\\\\\":[175.71917143685755,0,0,0,0,175.71917143685755,0,0,0,0,175.71917143685755,0,20.63599967956543,-9.788999557495117,30.652498722076416,1]}},\\\\\\"viewParams\\\\\\":{\\\\\\"backgroundColor\\\\\\":\\\\\\"black\\\\\\",\\\\\\"clipNear\\\\\\":0,\\\\\\"clipFar\\\\\\":100,\\\\\\"clipDist\\\\\\":10,\\\\\\"fogNear\\\\\\":50,\\\\\\"fogFar\\\\\\":100},\\\\\\"sessionScene\\\\\\":{}}},\\\\\\"countOfRemainingMoleculeGroups\\\\\\":0,\\\\\\"proteinsHasLoaded\\\\\\":true,\\\\\\"countOfPendingNglObjects\\\\\\":0}},\\\\\\"selectionReducers\\\\\\":{\\\\\\"present\\\\\\":{\\\\\\"to_buy_list\\\\\\":[],\\\\\\"to_select\\\\\\":{},\\\\\\"vector_list\\\\\\":[{\\\\\\"name\\\\\\":\\\\\\"VECTOR_O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-32.12,1.42,-65.738],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-33.15092700313684,5.630176759848748,-64.8115775850715],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.409,4.678,-64.325],\\\\\\"end\\\\\\":[-34.34784883356808,4.82806297255051,-63.77178758873543],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.555187817847973,3.307572066651391,-66.2672872220088],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-31.49037262841551,2.428873005958751,-63.348212409286845],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-28.109,7.031,-63.742],\\\\\\"end\\\\\\":[-28.795814336938214,7.757694676443554,-63.28352326797892],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__0\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-33.83188550795935,3.9895103567263064,-66.35925995565532],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1__1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"ARROW\\\\\\",\\\\\\"start\\\\\\":[-33.561,3.568,-65.38],\\\\\\"end\\\\\\":[-34.356827212237505,2.8487217682243586,-65.13648845293089],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-31.53,3.284,-64.039],\\\\\\"end\\\\\\":[-30.064,3.756,-64.27],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"},{\\\\\\"name\\\\\\":\\\\\\"VECTOR_C[Xe].O=C([Xe])Nc1cnns1\\\\\\",\\\\\\"OBJECT_TYPE\\\\\\":\\\\\\"CYLINDER\\\\\\",\\\\\\"start\\\\\\":[-32.145,2.919,-65.424],\\\\\\"end\\\\\\":[-31.53,3.284,-64.039],\\\\\\"colour\\\\\\":[1,0,0],\\\\\\"site\\\\\\":1,\\\\\\"moleculeId\\\\\\":3,\\\\\\"selectionType\\\\\\":\\\\\\"VECTOR\\\\\\"}],\\\\\\"to_query_pk\\\\\\":3,\\\\\\"to_query_prot\\\\\\":3,\\\\\\"to_query_sdf_info\\\\\\":\\\\\\"\\\\\\\\n RDKit 3D\\\\\\\\n\\\\\\\\n 14 15 0 0 0 0 0 0 0 0999 V2000\\\\\\\\n -29.7210 5.1080 -63.9440 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1200 1.4200 -65.7380 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.3550 4.2720 -63.4470 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -32.1450 2.9190 -65.4240 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.5610 3.5680 -65.3800 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -33.4090 4.6780 -64.3250 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -31.5300 3.2840 -64.0390 C 0 0 1 0 0 0 0 0 0 0 0 0\\\\\\\\n -30.0640 3.7560 -64.2700 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.4710 5.7300 -64.0910 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -28.1090 7.0310 -63.7420 C 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.7490 7.3080 -64.0480 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -26.1180 6.3750 -64.5730 N 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -29.2560 2.9400 -64.7040 O 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n -27.0620 4.9230 -64.8090 S 0 0 0 0 0 0 0 0 0 0 0 0\\\\\\\\n 4 2 1 1\\\\\\\\n 5 4 1 0\\\\\\\\n 6 5 1 0\\\\\\\\n 6 3 1 0\\\\\\\\n 7 4 1 0\\\\\\\\n 7 3 1 0\\\\\\\\n 7 8 1 6\\\\\\\\n 8 1 1 0\\\\\\\\n 9 1 1 0\\\\\\\\n 10 9 2 0\\\\\\\\n 11 10 1 0\\\\\\\\n 12 11 2 0\\\\\\\\n 13 8 2 0\\\\\\\\n 14 9 1 0\\\\\\\\n 14 12 1 0\\\\\\\\nM END\\\\\\\\n\\\\\\",\\\\\\"this_vector_list\\\\\\":{},\\\\\\"querying\\\\\\":false,\\\\\\"to_query\\\\\\":\\\\\\"C[C@H]1CCO[C@@H]1C(=O)Nc1cnns1\\\\\\",\\\\\\"fragmentDisplayList\\\\\\":[3],\\\\\\"bondColorMap\\\\\\":{\\\\\\"O=C(Nc1cnns1)[C@@H]1OCC[C@@H]1[Xe]\\\\\\":[[1,0,100,false]],\\\\\\"C[Xe].O=C([Xe])Nc1cnns1\\\\\\":[[1,0,100,false],[5,6,101,false]],\\\\\\"C[C@H]1CCO[C@@H]1[Xe].[Xe]c1cnns1\\\\\\":[[5,6,101,false],[9,8,102,false]],\\\\\\"C[C@H]1CC([Xe])O[C@@H]1C(=O)Nc1cnns1\\\\\\":[[3,21,\\\\\\"NA\\\\\\",true]],\\\\\\"C[C@@]1([Xe])CCO[C@@H]1C(=O)Nc1cnns1\\\\\\":[[1,17,\\\\\\"NA\\\\\\",true]],\\\\\\"C[C@H]1CCO[C@]1([Xe])C(=O)Nc1cnns1\\\\\\":[[5,22,\\\\\\"NA\\\\\\",true]],\\\\\\"C[C@H]1CCO[C@@H]1C(=O)Nc1snnc1[Xe]\\\\\\":[[10,24,\\\\\\"NA\\\\\\",true]],\\\\\\"C[C@H]1C([Xe])CO[C@@H]1C(=O)Nc1cnns1\\\\\\":[[2,19,\\\\\\"NA\\\\\\",true]]},\\\\\\"complexList\\\\\\":[3],\\\\\\"vectorOnList\\\\\\":[3],\\\\\\"highlightedCompound\\\\\\":{},\\\\\\"compoundClasses\\\\\\":{\\\\\\"1\\\\\\":\\\\\\"Blue\\\\\\",\\\\\\"2\\\\\\":\\\\\\"Red\\\\\\",\\\\\\"3\\\\\\":\\\\\\"Green\\\\\\",\\\\\\"4\\\\\\":\\\\\\"Purple\\\\\\",\\\\\\"5\\\\\\":\\\\\\"Apricot\\\\\\"},\\\\\\"currentCompoundClass\\\\\\":1,\\\\\\"countOfPendingVectorLoadRequests\\\\\\":0,\\\\\\"mol_group_selection\\\\\\":[1352,1349]}}}\\"}"`, created: '2020-01-13T14:20:11.434086Z', modified: '2020-01-13T14:20:11.434145Z', user_id: 3, @@ -134,7 +134,7 @@ describe("testing selection reducer's actions", () => { app_on: 'apiReducers.app_on', sessionIdList: 'apiReducers.sessionIdList', latestSession: 'apiReducers.latestSession', - project_id: 'apiReducers.project_id', + project: 'apiReducers.project', group_id: 'apiReducers.group_id', group_type: 'apiReducers.group_type', pandda_event_on: 'apiReducers.pandda_event_on', diff --git a/js/reducers/api/apiReducers.js b/js/reducers/api/apiReducers.js index 557750369..a2ce50660 100644 --- a/js/reducers/api/apiReducers.js +++ b/js/reducers/api/apiReducers.js @@ -6,7 +6,7 @@ import { savingStateConst } from '../../components/snapshot/constants'; import { tags } from '../../components/preview/tags/redux/tempData'; export const INITIAL_STATE = { - project_id: undefined, + project: undefined, target_id: undefined, target_id_list: [], legacy_target_id_list: [], @@ -353,7 +353,7 @@ export default function apiReducers(state = INITIAL_STATE, action = {}) { case constants.RELOAD_API_STATE: return Object.assign({}, state, { - project_id: action.project_id, + project: action.project, target_on_name: action.target_on_name, target_on: action.target_on, target_id: action.target_id, diff --git a/js/utils/genericList.js b/js/utils/genericList.js index 23a309b45..8041dfd19 100644 --- a/js/utils/genericList.js +++ b/js/utils/genericList.js @@ -8,7 +8,7 @@ import { base_url as base_url_const } from '../components/routes/constants'; // START of functions from GenericList export const getUrl = ({ list_type, - project_id, + project, target_on, group_type, mol_group_on, @@ -28,8 +28,8 @@ export const getUrl = ({ let get_params = {}; if (list_type === listTypes.TARGET) { base_url += 'targets/'; - if (project_id !== undefined) { - get_params.project_id = project_id; + if (project !== undefined) { + get_params.project = project; } } else if (list_type === OBJECT_TYPE.MOLECULE_GROUP) { if (target_on !== undefined) { @@ -66,8 +66,8 @@ export const getUrl = ({ } } else if (list_type === listTypes.SESSIONS) { base_url += 'viewscene/?user_id=' + userId; - if (project_id !== undefined) { - get_params.project_id = project_id; + if (project !== undefined) { + get_params.project = project; setSeshListSaving(true); } } else { @@ -201,7 +201,7 @@ export function getNumberFromCode(inputCode) { if (codeAfterIdentifier != null) { let startingNumber = (codeAfterIdentifier.match(/\d+/) || [0]) - .map(function(v) { + .map(function (v) { return +v; }) .shift(); @@ -212,7 +212,7 @@ export function getNumberFromCode(inputCode) { let codeAfterSubIdentifier = codeAfterIdentifier.split(CONSTANTS.sub_identifier)[1]; if (codeAfterSubIdentifier != null) { let startingSubNumber = (codeAfterSubIdentifier.match(/\d+/) || [0]) - .map(function(v) { + .map(function (v) { return +v; }) .shift(); From fad9c223b90b1e58d014e2dd74f074cb0ef95718 Mon Sep 17 00:00:00 2001 From: matej Date: Tue, 1 Oct 2024 16:33:33 +0200 Subject: [PATCH 2/7] #1514 added target_access_string to /api/download_structures, replaced /api/molgroup with /api/siteobservationgroup, minor fixes --- js/components/projects/index.js | 2 +- .../modals/downloadStructuresDialog.js | 16 ++++---- js/components/target/redux/dispatchActions.js | 37 ++++++------------- js/utils/genericList.js | 3 +- 4 files changed, 23 insertions(+), 35 deletions(-) diff --git a/js/components/projects/index.js b/js/components/projects/index.js index 35f566a02..0f8568195 100644 --- a/js/components/projects/index.js +++ b/js/components/projects/index.js @@ -771,7 +771,7 @@ export const Projects = memo(({ }) => { - +
{project.target.title === undefined ? project.target : project.target.title}
diff --git a/js/components/snapshot/modals/downloadStructuresDialog.js b/js/components/snapshot/modals/downloadStructuresDialog.js index a3a83f798..443464004 100644 --- a/js/components/snapshot/modals/downloadStructuresDialog.js +++ b/js/components/snapshot/modals/downloadStructuresDialog.js @@ -130,7 +130,7 @@ const createFlagObjectFromFlagList = flagList => { ); }; -export const DownloadStructureDialog = memo(({}) => { +export const DownloadStructureDialog = memo(({ }) => { const newDownload = '--- NEW DOWNLOAD ---'; const dispatch = useDispatch(); const classes = useStyles(); @@ -147,6 +147,7 @@ export const DownloadStructureDialog = memo(({}) => { const taggedMolecules = useSelector(state => selectJoinedMoleculeList(state)); const downloadTags = useSelector(state => state.apiReducers.downloadTags); const currentSnapshot = useSelector(state => state.projectReducers.currentSnapshot); + const currentProject = useSelector(state => state.targetReducers.currentProject); const [structuresSelection, setStructuresSelection] = useState('allStructures'); @@ -236,6 +237,7 @@ export const DownloadStructureDialog = memo(({}) => { } else { requestObject = { target_name: targetName, + target_access_string: currentProject?.target_access_string, proteins: proteinNames, ...mapFiles, ...crystallographicFiles, @@ -253,12 +255,12 @@ export const DownloadStructureDialog = memo(({}) => { const prepareDownloadClicked = () => async (dispatch, getState) => { const options = { link: { linkAction: downloadStructuresZip, linkText: 'Click to Download', linkParams: [] } }; if (selectedDownload !== newDownload) { - const donwloadTag = findDownload(selectedDownload); - if (donwloadTag) { + const downloadTag = findDownload(selectedDownload); + if (downloadTag) { setGeneralError(false); setZipPreparing(true); setAlreadyInProgress(false); - getDownloadStructuresUrl(donwloadTag.additional_info.requestObject) + getDownloadStructuresUrl(downloadTag.additional_info.requestObject) .then(resp => { if (resp.status === 208) { //same download is already preparing for someone else @@ -276,7 +278,7 @@ export const DownloadStructureDialog = memo(({}) => { if (resp) { const fileSizeInBytes = resp.headers['content-length']; setFileSize(getFileSizeString(fileSizeInBytes)); - const url = generateUrlFromTagName(donwloadTag.tag); + const url = generateUrlFromTagName(downloadTag.tag); options.link.linkParams = [url]; setDownloadTagUrl(url); setZipPreparing(false); @@ -534,8 +536,8 @@ export const DownloadStructureDialog = memo(({}) => { diff --git a/js/components/target/redux/dispatchActions.js b/js/components/target/redux/dispatchActions.js index 586802817..cada2aa8c 100644 --- a/js/components/target/redux/dispatchActions.js +++ b/js/components/target/redux/dispatchActions.js @@ -154,33 +154,18 @@ export const getTargetProjectCombinations = (targets, projects) => { targetItems.forEach(([targetId, target]) => { if (!target.isLegacy) { const updatedTarget = target; - if (Array.isArray(target.project)) { - target.project.forEach(projectId => { - console.log('target.project array member', projectId); - const project = projects.find(project => project.id === projectId); - // const project = projects[projectId]; - if (project) { - updatedTarget.project = project; - result.push({ updatedTarget }); - } else { - console.log( - `User don't have access to project ${projectId} which is associated with target ${target.title}` - ); - } - }); + console.log('target.project', target.project); + // TODO debug this? + const projectId = typeof target.project === 'object' ? target.project.id : target.project; + const project = projects.find(project => project.id === projectId); + // const project = projects[projectId]; + if (project) { + updatedTarget.project = project; + result.push({ updatedTarget }); } else { - console.log('target.project', target.project); - const projectId = typeof target.project === 'object' ? target.project.id : target.project; - const project = projects.find(project => project.id === projectId); - // const project = projects[projectId]; - if (project) { - updatedTarget.project = project; - result.push({ updatedTarget }); - } else { - console.log( - `User don't have access to project ${projectId} which is associated with target ${target.title}` - ); - } + console.log( + `User don't have access to project ${projectId} which is associated with target ${target.title}` + ); } } else { result.push({ updatedTarget: { ...target, project: { target_access_string: 'Legacy' } } }); diff --git a/js/utils/genericList.js b/js/utils/genericList.js index 8041dfd19..ecab65add 100644 --- a/js/utils/genericList.js +++ b/js/utils/genericList.js @@ -33,8 +33,9 @@ export const getUrl = ({ } } else if (list_type === OBJECT_TYPE.MOLECULE_GROUP) { if (target_on !== undefined) { + // api/molgroup was replaced by api/siteobservationgroup get_params.target_id = target_on; - base_url += 'molgroup/'; + base_url += 'siteobservationgroup/'; get_params.group_type = group_type; } } else if (list_type === listTypes.MOLECULE) { From 65e1edec0ff239a568e0ccd02d016a2a8ce16d7d Mon Sep 17 00:00:00 2001 From: matej Date: Mon, 14 Oct 2024 13:31:35 +0200 Subject: [PATCH 3/7] #1523 adjusted inspiration dialog layout and removed molecular properties headers from it too --- js/components/datasets/inspirationDialog.js | 8 ++++---- .../preview/molecule/moleculeView/moleculeView.js | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/js/components/datasets/inspirationDialog.js b/js/components/datasets/inspirationDialog.js index e018ae13c..23aa4c7c4 100644 --- a/js/components/datasets/inspirationDialog.js +++ b/js/components/datasets/inspirationDialog.js @@ -32,8 +32,8 @@ import GroupNglControlButtonsContext from '../preview/molecule/groupNglControlBu const useStyles = makeStyles(theme => ({ paper: { - width: 472, - height: 294, + width: 505, + // height: 294, overflowY: 'hidden' }, molHeader: { @@ -382,11 +382,11 @@ export const InspirationDialog = memo( <> - {Object.keys(moleculeProperty).map(key => ( + {/* {Object.keys(moleculeProperty).map(key => ( {moleculeProperty[key]} - ))} + ))} */} {allSelectedMolecules.length > 0 && ( ({ image: { border: 'solid 1px', borderColor: theme.palette.background.divider, - borderStyle: 'solid solid solid none', + borderStyle: 'none none none solid', position: 'relative' }, imageMargin: { @@ -1203,7 +1203,7 @@ const MoleculeView = memo( - + {/* Title label */} From 42b36a4edec528f45e25cbdec203187a6b9bc42f Mon Sep 17 00:00:00 2001 From: matej Date: Mon, 14 Oct 2024 20:48:27 +0200 Subject: [PATCH 4/7] #1463 show "Ascending" instead of "ASC" when there is a possible space for it --- .../preview/molecule/observationCmpList.js | 49 ++++++++++++++++--- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/js/components/preview/molecule/observationCmpList.js b/js/components/preview/molecule/observationCmpList.js index c8df5b25f..289d7d9eb 100644 --- a/js/components/preview/molecule/observationCmpList.js +++ b/js/components/preview/molecule/observationCmpList.js @@ -225,6 +225,9 @@ const useStyles = makeStyles(theme => ({ //color: theme.palette.black } }, + selectButton: { + padding: '4px 2px !important' + }, formControl: { color: 'inherit', margin: theme.spacing(1), @@ -416,10 +419,40 @@ export const ObservationCmpList = memo(({ hideProjects }) => { const filterRef = useRef(); const tagEditorRef = useRef(); const scrollBarRef = useRef(); + const hitNavigatorRef = useRef(); const [tagEditorAnchorEl, setTagEditorAnchorEl] = useState(null); + const [hitNavigatorWidth, setHitNavigatorWidth] = useState(0); const areLSHCompoundsInitialized = useSelector(state => state.selectionReducers.areLSHCompoundsInitialized); + // just modified https://stackoverflow.com/a/73248253/2331858 + useEffect(() => { + if (hitNavigatorRef && hitNavigatorRef.current) { + console.log(hitNavigatorRef); + setHitNavigatorWidth(hitNavigatorRef.current.clientWidth); + + // we instantiate the resizeObserver and we pass + // the event handler to the constructor + const resizeObserver = new ResizeObserver(() => { + if (hitNavigatorRef.current.offsetWidth !== hitNavigatorWidth) { + setHitNavigatorWidth(hitNavigatorRef.current.offsetWidth); + } + }); + + // the code in useEffect will be executed when the component + // has mounted, so we are certain hitNavigatorRef.current will contain + // the element we want to observe + resizeObserver.observe(hitNavigatorRef.current); + + // if useEffect returns a function, it is called right before the + // component unmounts, so it is the right place to stop observing + // the element + return function cleanup() { + resizeObserver.disconnect(); + } + } + }, [hitNavigatorRef, hitNavigatorWidth]); + if (directDisplay && directDisplay.target) { target = directDisplay.target; } @@ -1060,7 +1093,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => { }; return ( - + { { - + - @@ -503,7 +582,6 @@ export default memo( setOpenFunders(false)} /> - setOpenTrackingModal(false)} /> { - dispatch(setIsActionsRestoring(false, false)); - dispatch(setProjectActionListLoaded(false)); history.push(URLS.landing); window.location.reload(); }} @@ -575,7 +651,7 @@ export default memo( - {DJANGO_CONTEXT.pk && + {DJANGO_CONTEXT.pk && ( <> openLink(URLS.lhsUpload)}> @@ -597,7 +673,7 @@ export default memo( - } + )} {authListItem} diff --git a/js/components/nglView/generatingObjects.js b/js/components/nglView/generatingObjects.js index 8af53b404..f14fabf2e 100644 --- a/js/components/nglView/generatingObjects.js +++ b/js/components/nglView/generatingObjects.js @@ -46,14 +46,20 @@ export const generateCompoundMolObject = (sdf_info, identifier) => ({ }); // Ligand -export const generateMoleculeObject = (data, colourToggle, datasetID) => ({ - name: `${data.code || data.name}_${OBJECT_TYPE.LIGAND}${datasetID ? '_' + datasetID : ''}`, - OBJECT_TYPE: OBJECT_TYPE.LIGAND, - colour: colourToggle, - sdf_info: data.ligand_mol_file || data.sdf_info, - moleculeId: data.id, - selectionType: SELECTION_TYPE.LIGAND -}); +export const generateMoleculeObject = (data, colourToggle, datasetID) => { + if (data) { + return { + name: `${data.code || data.name}_${OBJECT_TYPE.LIGAND}${datasetID ? '_' + datasetID : ''}`, + OBJECT_TYPE: OBJECT_TYPE.LIGAND, + colour: colourToggle, + sdf_info: data.ligand_mol_file || data.sdf_info, + moleculeId: data.id, + selectionType: SELECTION_TYPE.LIGAND + }; + } else { + return null; + } +}; // Vector export const generateArrowObject = (data, start, end, name, colour) => ({ diff --git a/js/components/nglView/renderingObjects.js b/js/components/nglView/renderingObjects.js index 683a43eea..179aa3a92 100644 --- a/js/components/nglView/renderingObjects.js +++ b/js/components/nglView/renderingObjects.js @@ -40,7 +40,7 @@ const showLigand = async ({ }) => { let stringBlob = new Blob([input_dict.sdf_info], { type: 'text/plain' }); console.count(`showLigand started`); - const skipOrientation = state.trackingReducers.skipOrientationChange; + const skipOrientation = false; //state.trackingReducers.skipOrientationChange; if (loadQuality && quality && quality.badids?.length > 0) { return loadQualityFromFile( @@ -379,7 +379,7 @@ const showProtein = ({ stage, input_dict, object_name, representations, orientat const reprArray = representations || createRepresentationsArray([createRepresentationStructure(input_dict.nglProtStyle, {})]); - const skipOrientation = state.trackingReducers.skipOrientationChange; + const skipOrientation = false; //state.trackingReducers.skipOrientationChange; if (!skipOrientation) { if (orientationMatrix) { diff --git a/js/components/preview/Preview.js b/js/components/preview/Preview.js index 75b6a753d..15c05b3c2 100644 --- a/js/components/preview/Preview.js +++ b/js/components/preview/Preview.js @@ -38,7 +38,13 @@ import { ResizableLayout } from './ResizableLayout'; import { loadMoleculesAndTagsNew } from './tags/redux/dispatchActions'; import { getTagMolecules, getTags } from './tags/api/tagsApi'; import { compareTagsAsc } from './tags/utils/tagUtils'; -import { setMoleculeTags } from '../../reducers/api/actions'; +import { + setLHSDataIsLoaded, + setLHSDataIsLoading, + setMoleculeTags, + setRHSDataIsLoaded, + setRHSDataIsLoading +} from '../../reducers/api/actions'; import { PickProjectModal } from './PickProjectModal'; import { withLoadingProjects } from '../target/withLoadingProjects'; import { setProjectModalOpen } from '../projects/redux/actions'; @@ -47,6 +53,18 @@ import { setTagEditorOpen, setMoleculeForTagEdit, setToastMessages } from '../.. import { LoadingContext } from '../loading'; import { ToastContext } from '../toast'; import { TOAST_LEVELS } from '../toast/constants'; +import { useDisplayLigandLHS } from '../../reducers/ngl/useDisplayLigandLHS'; +import { useDisplayProteinLHS } from '../../reducers/ngl/useDisplayProteinLHS'; +import { useDisplayComplexLHS } from '../../reducers/ngl/useDisplayComplexLHS'; +import { useDisplaySurfaceLHS } from '../../reducers/ngl/useDisplaySurfacesLHS'; +import { useDisplayVectorLHS } from '../../reducers/ngl/useDisplayVectorLHS'; +import { useDisplayDensityLHS } from '../../reducers/ngl/useDisplayDensityLHS'; +import { useDisplayLigandRHS } from '../../reducers/ngl/useDisplayLigandRHS'; +import { useDisplayProteinRHS } from '../../reducers/ngl/useDisplayProteinRHS'; +import { useDisplayComplexRHS } from '../../reducers/ngl/useDisplayComplexRHS'; +import { useDisplaySurfaceRHS } from '../../reducers/ngl/useDisplaySurfaceRHS'; +import { loadTargetList } from '../target/redux/dispatchActions'; +import { EditSnapshotDialog } from './projectHistoryPanel/editSnapshotDialog'; const ReactGridLayout = WidthProvider(ResponsiveGridLayout); @@ -80,27 +98,6 @@ const Preview = memo(({ isStateLoaded, hideProjects, isSnapshot = false }) => { const theme = useTheme(); const dispatch = useDispatch(); - // let match = useRouteMatch(); - - // const currentPorject = useSelector(state => state.targetReducers.currentProject); - - // if (!currentPorject && match && match.params && match.params.length > 0) { - // const project = extractProjectFromURLParam(match.params[0]); - // if (!project) { - // const projectsForSelectedTarget = dispatch(getProjectsForSelectedTarget()); - // if (projectsForSelectedTarget && projectsForSelectedTarget.length > 0) { - // if (projectsForSelectedTarget.length === 1) { - // dispatch(setCurrentProject(projectsForSelectedTarget[0])); - // } else { - // dispatch(setOpenPickProjectModal(true)); - // } - // } else { - // //show message that there are no projects for this target - // } - // } else { - // dispatch(setCurrentProject(project)); - // } - // } useEffect(() => { dispatch(prepareFakeFilterData()); @@ -108,7 +105,7 @@ const Preview = memo(({ isStateLoaded, hideProjects, isSnapshot = false }) => { const customDatasets = useSelector(state => state.datasetsReducers.datasets); const target_on = useSelector(state => state.apiReducers.target_on); - const isTrackingRestoring = useSelector(state => state.trackingReducers.isTrackingCompoundsRestoring); + const isTrackingRestoring = false; //useSelector(state => state.trackingReducers.isTrackingCompoundsRestoring); const all_mol_lists = useSelector(state => state.apiReducers.all_mol_lists); const moleculeLists = useSelector(state => state.datasetsReducers.moleculeLists); @@ -120,19 +117,64 @@ const Preview = memo(({ isStateLoaded, hideProjects, isSnapshot = false }) => { const openNewProjectModal = useSelector(state => state.projectReducers.isProjectModalOpen); const openSaveSnapshotModal = useSelector(state => state.snapshotReducers.openSavingDialog); + const target_id_list = useSelector(state => state.apiReducers.target_id_list); + const nglPortal = useMemo(() => createHtmlPortalNode({ attributes: { style: 'height: 100%' } }), []); const { toastSuccess, toastError, toastInfo, toastWarning } = useContext(ToastContext); const toastMessages = useSelector(state => state.selectionReducers.toastMessages); + const lhsDataIsLoaded = useSelector(state => state.apiReducers.lhsDataIsLoaded); + const rhsDataIsLoaded = useSelector(state => state.apiReducers.rhsDataIsLoaded); + const { setMoleculesAndTagsAreLoading } = useContext(LoadingContext); + useDisplayLigandLHS(); + useDisplayProteinLHS(); + useDisplayComplexLHS(); + useDisplaySurfaceLHS(); + useDisplayVectorLHS(); + useDisplayDensityLHS(); + + useDisplayLigandRHS(); + useDisplayProteinRHS(); + useDisplayComplexRHS(); + useDisplaySurfaceRHS(); + useEffect(() => { - if (target_on && !isSnapshot) { - dispatch(loadMoleculesAndTagsNew(target_on)); + if (target_on /*&& !isSnapshot*/ && !lhsDataIsLoaded) { + dispatch(loadMoleculesAndTagsNew(target_on)).then(() => { + dispatch(setLHSDataIsLoading(false)); + dispatch(setLHSDataIsLoaded(true)); + }); } - }, [dispatch, target_on, isSnapshot, setMoleculesAndTagsAreLoading]); + }, [dispatch, target_on, isSnapshot, setMoleculesAndTagsAreLoading, lhsDataIsLoaded]); + + /* + Loading datasets + */ + useEffect(() => { + if (customDatasets.length === 0 && isTrackingRestoring === false && !rhsDataIsLoaded) { + dispatch(setMoleculeListIsLoading(true)); + dispatch(loadDataSets(target_on)) + .then(results => { + if (Array.isArray(results) && results.length > 0) { + let defaultDataset = results[0]?.name; + dispatch(setSelectedDatasetIndex(0, 0, defaultDataset, defaultDataset, true)); + } + return dispatch(loadDatasetCompoundsWithScores()); + }) + .catch(error => { + throw new Error(error); + }) + .finally(() => { + dispatch(setMoleculeListIsLoading(false)); + dispatch(setRHSDataIsLoading(false)); + dispatch(setRHSDataIsLoaded(true)); + }); + } + }, [customDatasets.length, dispatch, target_on, isTrackingRestoring, rhsDataIsLoaded]); useEffect(() => { if (toastMessages?.length > 0) { @@ -158,38 +200,6 @@ const Preview = memo(({ isStateLoaded, hideProjects, isSnapshot = false }) => { } }, [dispatch, toastError, toastInfo, toastMessages, toastSuccess, toastWarning]); - // useEffect(() => { - // if (target_on) { - // getTags(target_on).then(data => { - // const sorted = data.results.sort(compareTagsAsc); - // dispatch(setMoleculeTags(sorted)); - // }); - // } - // }, [dispatch, target_on]); - - /* - Loading datasets - */ - useEffect(() => { - if (customDatasets.length === 0 && isTrackingRestoring === false) { - dispatch(setMoleculeListIsLoading(true)); - dispatch(loadDataSets(target_on)) - .then(results => { - if (Array.isArray(results) && results.length > 0) { - let defaultDataset = results[0]?.name; - dispatch(setSelectedDatasetIndex(0, 0, defaultDataset, defaultDataset, true)); - } - return dispatch(loadDatasetCompoundsWithScores()); - }) - .catch(error => { - throw new Error(error); - }) - .finally(() => { - dispatch(setMoleculeListIsLoading(false)); - }); - } - }, [customDatasets.length, dispatch, target_on, isTrackingRestoring]); - useEffect(() => { const moleculeListsCount = Object.keys(moleculeLists || {}).length; if (moleculeListsCount > 0 && !isLoadingMoleculeList) { @@ -227,13 +237,6 @@ const Preview = memo(({ isStateLoaded, hideProjects, isSnapshot = false }) => { const [showHistory, setShowHistory] = useState(false); - // useEffect(() => { - // // Unmount Preview - reset NGL state - // return () => { - // dispatch(unmountPreviewComponent(nglViewList)); - // }; - // }, [dispatch, nglViewList]); - const onLayoutChange = (updatedLayout, layouts) => { dispatch(setCurrentLayout(layouts)); }; @@ -315,10 +318,10 @@ const Preview = memo(({ isStateLoaded, hideProjects, isSnapshot = false }) => {
( - openNewProjectModal === true ? dispatch(setProjectModalOpen(false)) : '', - openSaveSnapshotModal === true ? dispatch(setOpenSnapshotSavingDialog(false)) : '' - )} + onClick={() => { + openNewProjectModal && dispatch(setProjectModalOpen(false)); + openSaveSnapshotModal && dispatch(setOpenSnapshotSavingDialog(false)); + }} > { + {!hideProjects && } ); diff --git a/js/components/preview/jobTable/redux/dispatchActions.js b/js/components/preview/jobTable/redux/dispatchActions.js index 45649c7e2..7f2932fb4 100644 --- a/js/components/preview/jobTable/redux/dispatchActions.js +++ b/js/components/preview/jobTable/redux/dispatchActions.js @@ -1,6 +1,5 @@ import { setSelectedDatasetIndex, setTabValue } from '../../../datasets/redux/actions'; import { turnSide } from '../../viewerControls/redux/actions'; -import { getCompoundById } from '../../../../reducers/tracking/dispatchActionsSwitchSnapshot'; import { removeDatasetLigand, removeDatasetHitProtein, @@ -10,6 +9,7 @@ import { } from '../../../datasets/redux/dispatchActions'; import { getRandomColor } from '../../molecule/utils/color'; import { getJoinedMoleculeLists } from '../../../datasets/redux/selectors'; +import { getCompoundById } from '../../../../utils/genericDispatchActions'; const removeRHSfromNGL = stage => (dispatch, getState) => { const state = getState(); diff --git a/js/components/preview/molecule/modals/densityMapsModal.js b/js/components/preview/molecule/modals/densityMapsModal.js index 84e52979f..004a93b36 100644 --- a/js/components/preview/molecule/modals/densityMapsModal.js +++ b/js/components/preview/molecule/modals/densityMapsModal.js @@ -25,13 +25,15 @@ export const DensityMapsModal = memo(({ openDialog, setOpenDialog, data, setDens const [valueDiff, setValueDiff] = useState(false); const [valueEvent, setValueEvent] = useState(false); const [valueAtomQuality, setValueAtomQuality] = useState(isQualityOn); - const proteinData = data.proteinData; + const proteinData = data?.proteinData; useEffect(() => { - proteinData.render_sigmaa = valueSigmaa; - proteinData.render_diff = valueDiff; - proteinData.render_event = valueEvent; - }, []); + if (proteinData) { + proteinData.render_sigmaa = valueSigmaa; + proteinData.render_diff = valueDiff; + proteinData.render_event = valueEvent; + } + }, [proteinData, valueDiff, valueEvent, valueSigmaa]); // In case quality gets turned on from elsewhere useLayoutEffect(() => { @@ -39,32 +41,40 @@ export const DensityMapsModal = memo(({ openDialog, setOpenDialog, data, setDens }, [isQualityOn]); const toggleRenderSigmaaMap = () => { - proteinData.render_sigmaa = !proteinData.render_sigmaa; - setValueSigmaa(!valueSigmaa); + if (proteinData) { + proteinData.render_sigmaa = !proteinData.render_sigmaa; + setValueSigmaa(!valueSigmaa); + } }; const toggleRenderDiffMap = () => { - proteinData.render_diff = !proteinData.render_diff; - setValueDiff(!valueDiff); + if (proteinData) { + proteinData.render_diff = !proteinData.render_diff; + setValueDiff(!valueDiff); + } }; const toggleRenderEventMap = () => { - proteinData.render_event = !proteinData.render_event; - setValueEvent(!valueEvent); + if (proteinData) { + proteinData.render_event = !proteinData.render_event; + setValueEvent(!valueEvent); + } }; const toggleRenderAtomQuality = () => { - const nextValue = !valueAtomQuality; - proteinData.render_quality = nextValue; - setValueAtomQuality(nextValue); + if (proteinData) { + const nextValue = !valueAtomQuality; + proteinData.render_quality = nextValue; + setValueAtomQuality(nextValue); + } }; const handleCloseModal = () => { - dispatch(setOpenDialog(false)); + setOpenDialog(false); }; const handleSaveButton = () => { - dispatch(setOpenDialog(false)); + setOpenDialog(false); setDensity(); }; @@ -73,7 +83,7 @@ export const DensityMapsModal = memo(({ openDialog, setOpenDialog, data, setDens <> Density rendering maps selection - {data.code} + {data?.code} diff --git a/js/components/preview/molecule/moleculeView/moleculeView.js b/js/components/preview/molecule/moleculeView/moleculeView.js index 7367b1e7d..900af8be6 100644 --- a/js/components/preview/molecule/moleculeView/moleculeView.js +++ b/js/components/preview/molecule/moleculeView/moleculeView.js @@ -49,7 +49,14 @@ import { SvgTooltip } from '../../../common'; import { MOL_TYPE } from '../redux/constants'; import { DensityMapsModal } from '../modals/densityMapsModal'; import { getRandomColor } from '../utils/color'; -import { DEFAULT_TAG_COLOR, getAllTagsForCategories, getAllTagsForLHSCmp, getAllTagsForMol, getAllTagsForObservation, getAllTagsForObservationPopover } from '../../tags/utils/tagUtils'; +import { + DEFAULT_TAG_COLOR, + getAllTagsForCategories, + getAllTagsForLHSCmp, + getAllTagsForMol, + getAllTagsForObservation, + getAllTagsForObservationPopover +} from '../../tags/utils/tagUtils'; import MoleculeSelectCheckbox from './moleculeSelectCheckbox'; import useClipboard from 'react-use-clipboard'; import Typography from '@mui/material/Typography'; @@ -360,7 +367,13 @@ export const img_data_init = ` '`; -export const XCA_TAGS_CATEGORIES = ['CanonSites', 'ConformerSites', 'Quatassemblies', 'Crystalforms', 'CrystalformSites']; +export const XCA_TAGS_CATEGORIES = [ + 'CanonSites', + 'ConformerSites', + 'Quatassemblies', + 'Crystalforms', + 'CrystalformSites' +]; const MoleculeView = memo( ({ @@ -430,9 +443,9 @@ const MoleculeView = memo( const allPoses = useSelector(state => state.apiReducers.lhs_compounds_list); //for some reason when tags are changed for this molecule the data are stale so I need to retrieve them from list of all molecules - data = allMolecules.filter(mol => mol.id === data.id)[0]; + data = allMolecules.filter(mol => mol.id === data?.id)[0]; - const [isCopied, setCopied] = useClipboard(data.smiles, { successDuration: 5000 }); + const [isCopied, setCopied] = useClipboard(data?.smiles, { successDuration: 5000 }); const hasAllValuesOn = isLigandOn && isProteinOn && isComplexOn; const hasSomeValuesOn = !hasAllValuesOn && (isLigandOn || isProteinOn || isComplexOn); @@ -445,7 +458,7 @@ const MoleculeView = memo( const colourToggle = getRandomColor(data); - const pose = useMemo(() => allPoses.find(p => p.id === data.pose), [allPoses, data]); + const pose = useMemo(() => allPoses.find(p => p.id === data?.pose), [allPoses, data]); const getCalculatedProps = useCallback( () => [ @@ -461,7 +474,7 @@ const MoleculeView = memo( // { name: moleculeProperty.vectors, value: countOfVectors }, // { name: moleculeProperty.cpd, value: cmpds } ], - [data.ha, data.hacc, data.hdon, data.logp, data.mw, data.rings, data.rots, data.tpsa, data.velec] + [] ); const [densityModalOpen, setDensityModalOpen] = useState(false); @@ -544,7 +557,7 @@ const MoleculeView = memo( setHeaderWidthsHandler(data.longcode, 'LongCode'); XCA_TAGS_CATEGORIES.forEach(tagCategory => { setHeaderWidthsHandler(getTagLabel(tagCategory), tagCategory); - }) + }); } }, [showExpandedView, getTagType, getTagLabel, centroidRes, data.longcode, setHeaderWidthsHandler]); @@ -581,18 +594,25 @@ const MoleculeView = memo( return getFontColorByBackgroundColor(bgColor); }; - const getAllTags = useCallback(() => getAllTagsForCategories(data, tagList, tagCategories), [data, tagList, tagCategories]); + const getAllTags = useCallback(() => getAllTagsForCategories(data, tagList, tagCategories), [ + data, + tagList, + tagCategories + ]); /** * Get tag for render */ - const getTagType = useCallback((type) => { - // TODO change this to null maybe? - const defaultTagObject = { tag_prefix: '-', color: 'orange', upload_name: '-' }; - const tagCategory = tagCategories.find(tag => tag.category === type); - const tagObject = tagCategory ? getAllTags().find(tag => tag.category === tagCategory.id) : defaultTagObject; - return tagObject ?? defaultTagObject; - }, [getAllTags, tagCategories]); + const getTagType = useCallback( + type => { + // TODO change this to null maybe? + const defaultTagObject = { tag_prefix: '-', color: 'orange', upload_name: '-' }; + const tagCategory = tagCategories.find(tag => tag.category === type); + const tagObject = tagCategory ? getAllTags().find(tag => tag.category === tagCategory.id) : defaultTagObject; + return tagObject ?? defaultTagObject; + }, + [getAllTags, tagCategories] + ); const generateTagPopover = () => { // const allData = getAllTagsForObservation(data, tagList, tagCategories); @@ -669,7 +689,7 @@ const MoleculeView = memo( dispatch(setMoleculeForTagEdit([])); } else { setTagEditModalOpenNew(true); - dispatch(setMoleculeForTagEdit([data.id])); + dispatch(setMoleculeForTagEdit([data?.id])); dispatch(setTagEditorOpenObs(true)); if (setRef) { setRef(ref.current); @@ -731,7 +751,7 @@ const MoleculeView = memo( dispatch(setMoleculeForTagEdit([])); } else { setTagEditModalOpenNew(true); - dispatch(setMoleculeForTagEdit([data.id])); + dispatch(setMoleculeForTagEdit([data?.id])); dispatch(setTagEditorOpenObs(true)); if (setRef) { setRef(ref.current); @@ -806,7 +826,7 @@ const MoleculeView = memo( dispatch(setMoleculeForTagEdit([])); } else { setTagEditModalOpenNew(true); - dispatch(setMoleculeForTagEdit([data.id])); + dispatch(setMoleculeForTagEdit([data?.id])); dispatch(setTagEditorOpenObs(true)); if (setRef) { setRef(ref.current); @@ -825,10 +845,12 @@ const MoleculeView = memo( // componentDidMount useEffect(() => { - dispatch(getMolImage(data.id, MOL_TYPE.HIT, imageWidth, imageHeight)).then(i => { - setImg_data(i); - }); - }, [data.id, data.smiles, imageHeight, imageWidth, dispatch]); + if (data) { + dispatch(getMolImage(data?.id, MOL_TYPE.HIT, imageWidth, imageHeight)).then(i => { + setImg_data(i); + }); + } + }, [data, imageHeight, imageWidth, dispatch]); useEffect(() => { dispatch(getQualityInformation(data)); @@ -1012,7 +1034,7 @@ const MoleculeView = memo( if (isDensityOn === false && isDensityCustomOn === false) { dispatch(getDensityMapData(data)).then(r => { if (r) { - dispatch(setDensityModalOpen(true)); + setDensityModalOpen(true); } else { addNewDensity(); } @@ -1114,7 +1136,7 @@ const MoleculeView = memo( // let moleculeTitle = data?.code.replace(new RegExp(`${target_on_name}-`, 'i'), ''); // let moleculeTitle = data?.code; let moleculeTitle = data?.code.replaceAll(`${target_on_name}-`, ''); - const moleculeTitleTruncated = moleculeTitle.substring(0, 20) + (moleculeTitle.length > 20 ? '...' : ''); + const moleculeTitleTruncated = moleculeTitle?.substring(0, 20) + (moleculeTitle?.length > 20 ? '...' : '') || ''; const [isNameCopied, setNameCopied] = useClipboard(moleculeTitle, { successDuration: 5000 }); @@ -1129,10 +1151,10 @@ const MoleculeView = memo( switch (string?.length) { case 1: case 2: - fontSize = 18 + fontSize = 18; break; case 4: - fontSize = 10 + fontSize = 10; break; default: break; @@ -1140,23 +1162,29 @@ const MoleculeView = memo( return fontSize; }; - const getTagLabel = useCallback(tagCategory => { - const tagTypeObject = getTagType(tagCategory); - let tagLabel = ''; - if (tagTypeObject) { - tagLabel = tagTypeObject.tag; - } - return tagLabel; - }, [getTagType]); - - const getTagTooltip = useCallback(tagCategory => { - const tagTypeObject = getTagType(tagCategory); - let tagTooltip = ''; - if (tagTypeObject) { - tagTooltip = tagTypeObject.upload_name; - } - return tagTooltip; - }, [getTagType]); + const getTagLabel = useCallback( + tagCategory => { + const tagTypeObject = getTagType(tagCategory); + let tagLabel = ''; + if (tagTypeObject) { + tagLabel = tagTypeObject.tag; + } + return tagLabel; + }, + [getTagType] + ); + + const getTagTooltip = useCallback( + tagCategory => { + const tagTypeObject = getTagType(tagCategory); + let tagTooltip = ''; + if (tagTypeObject) { + tagTooltip = tagTypeObject.upload_name; + } + return tagTooltip; + }, + [getTagType] + ); const copyExperimentalPaths = async () => { await navigator.clipboard.writeText(experimentalPath); @@ -1169,12 +1197,9 @@ const MoleculeView = memo( container justifyContent="space-between" direction="row" - className={classNames( - classes.container, - { - [classes.containerHeight]: !hideImage - } - )} + className={classNames(classes.container, { + [classes.containerHeight]: !hideImage + })} wrap="nowrap" ref={ref} > @@ -1206,22 +1231,36 @@ const MoleculeView = memo( {/* Title label */} - + { e.preventDefault(); setNameCopied(moleculeTitle); }} - className={classNames(classes.moleculeTitleLabel, { [classes.moleculeTitleLabelMainObs]: data.id === pose?.main_site_observation })} + className={classNames(classes.moleculeTitleLabel, { + [classes.moleculeTitleLabelMainObs]: data?.id === pose?.main_site_observation + })} > - {moleculeTitleTruncated} + + {moleculeTitleTruncated} +
{data?.compound_code}
{/* Molecule properties */} - {getCalculatedProps().length > 0 && + {getCalculatedProps().length > 0 && ( {/* Molecule properties */} - } + )} {/* Control Buttons A, L, C, V */} @@ -1267,7 +1306,7 @@ const MoleculeView = memo( variant="outlined" className={classes.myLocationButton} onClick={() => { - dispatch(centerOnLigandByMoleculeID(stage, data.id)); + dispatch(centerOnLigandByMoleculeID(stage, data?.id)); }} disabled={false || !isLigandOn} > @@ -1458,33 +1497,43 @@ const MoleculeView = memo( direction="row" alignItems="center" // wrap="nowrap" - style={{ height: "100%" }} + style={{ height: '100%' }} > {XCA_TAGS_CATEGORIES.map(tagCategory => { const tagTypeObject = getTagType(tagCategory); - const tagLabel = tagCategory === 'ConformerSites' ? tagTypeObject.tag_prefix.replace(getTagType('CanonSites')?.tag_prefix, '') : tagTypeObject?.tag_prefix; - return {PLURAL_TO_SINGULAR[tagCategory]} - {tagTypeObject.tag}
} - > - + {PLURAL_TO_SINGULAR[tagCategory]} - {tagTypeObject.tag} + + } > - {tagLabel} - - - } - )} + + {tagLabel} + + + ); + })}
{/* Image */} - {(hideImage !== true) && + {hideImage !== true && (
)}
- } + + )}
- {showExpandedView && - {XCA_TAGS_CATEGORIES.map((tagCategory, index) => { - return - - {getTagLabel(tagCategory)} + {showExpandedView && ( + + {XCA_TAGS_CATEGORIES.map((tagCategory, index) => { + return ( + + + {getTagLabel(tagCategory)} + + + ); + })} + + + {centroidRes} - })} - - - {centroidRes} - - - - - {data.longcode} - - - 0 ? experimentalPath : 'empty path'}> - - - - - - - } - + + + {data.longcode} + + + 0 ? experimentalPath : 'empty path'}> + + + + + + + + )} +
{ const noTagsReceived = useSelector(state => state.apiReducers.noTagsReceived); const categories = useSelector(state => state.apiReducers.categoryList); + const lhsDataIsLoaded = useSelector(state => state.apiReducers.lhsDataIsLoaded); + const observationsForLHSCmp = useSelector(state => state.selectionReducers.observationsForLHSCmp); const lhsCompoundsList = useSelector(state => getLHSCompoundsList(state)); @@ -328,14 +330,8 @@ export const ObservationCmpList = memo(({ hideProjects }) => { const [predefinedFilter, setPredefinedFilter] = useState(filter !== undefined ? filter.predefined : DEFAULT_FILTER); const [ascending, setAscending] = useState(true); - const handleAscendingChecked = (event) => setAscending(event.target.checked); - const SORT_OPTIONS = [ - 'POSE_NAME', - 'COMPOUND_CODE', - 'CANONSITE_NUMBER', - 'CONFORMERSITE_NUMBER', - 'OBSERVATION_COUNT' - ]; + const handleAscendingChecked = event => setAscending(event.target.checked); + const SORT_OPTIONS = ['POSE_NAME', 'COMPOUND_CODE', 'CANONSITE_NUMBER', 'CONFORMERSITE_NUMBER', 'OBSERVATION_COUNT']; const sortOptions = { POSE_NAME: { title: 'Pose name', @@ -363,25 +359,29 @@ export const ObservationCmpList = memo(({ hideProjects }) => { const compareByPoseName = (a, b, asc) => { const aName = a.code; const bName = b.code; - return asc ? aName.localeCompare(bName, undefined, { numeric: true, sensitivity: 'base' }) + return asc + ? aName.localeCompare(bName, undefined, { numeric: true, sensitivity: 'base' }) : bName.localeCompare(aName, undefined, { numeric: true, sensitivity: 'base' }); }; const compareByCompoundCode = (a, b, asc) => { const aName = a.main_site_observation_cmpd_code; const bName = b.main_site_observation_cmpd_code; - return asc ? aName.localeCompare(bName, undefined, { numeric: true, sensitivity: 'base' }) + return asc + ? aName.localeCompare(bName, undefined, { numeric: true, sensitivity: 'base' }) : bName.localeCompare(aName, undefined, { numeric: true, sensitivity: 'base' }); }; const compareByCanonSiteNumber = (a, b, asc) => { const aName = getCanonSiteTagPrefix(a); const bName = getCanonSiteTagPrefix(b); - return asc ? aName.localeCompare(bName, undefined, { numeric: true, sensitivity: 'base' }) + return asc + ? aName.localeCompare(bName, undefined, { numeric: true, sensitivity: 'base' }) : bName.localeCompare(aName, undefined, { numeric: true, sensitivity: 'base' }); }; const compareByConformerSiteNumber = (a, b, asc) => { const aName = getConformerSiteTagPrefix(a); const bName = getConformerSiteTagPrefix(b); - return asc ? aName.localeCompare(bName, undefined, { numeric: true, sensitivity: 'base' }) + return asc + ? aName.localeCompare(bName, undefined, { numeric: true, sensitivity: 'base' }) : bName.localeCompare(aName, undefined, { numeric: true, sensitivity: 'base' }); }; const compareByObservationCount = (a, b, asc) => { @@ -393,22 +393,32 @@ export const ObservationCmpList = memo(({ hideProjects }) => { /** * Get CanonSites tag for sorting */ - const getCanonSiteTagPrefix = useCallback(pose => { - const mainObservation = pose.associatedObs.find(observation => observation.id === pose.main_site_observation); - const canonSitesTag = categories.find(tagCategory => tagCategory.category === 'CanonSites'); - const canonSite = tags.find(tag => tag.category === canonSitesTag.id && tag.site_observations.includes(mainObservation.id)); - return canonSite !== undefined ? canonSite.tag_prefix : ''; - }, [categories, tags]); + const getCanonSiteTagPrefix = useCallback( + pose => { + const mainObservation = pose.associatedObs.find(observation => observation.id === pose.main_site_observation); + const canonSitesTag = categories.find(tagCategory => tagCategory.category === 'CanonSites'); + const canonSite = tags.find( + tag => tag.category === canonSitesTag.id && tag.site_observations.includes(mainObservation.id) + ); + return canonSite !== undefined ? canonSite.tag_prefix : ''; + }, + [categories, tags] + ); /** * Get ConformerSites tag for sorting */ - const getConformerSiteTagPrefix = useCallback(pose => { - const mainObservation = pose.associatedObs.find(observation => observation.id === pose.main_site_observation); - const conformerSitesTag = categories.find(tagCategory => tagCategory.category === 'ConformerSites'); - const conformerSite = tags.find(tag => tag.category === conformerSitesTag.id && tag.site_observations.includes(mainObservation.id)); - return conformerSite !== undefined ? conformerSite.tag_prefix : ''; - }, [categories, tags]); + const getConformerSiteTagPrefix = useCallback( + pose => { + const mainObservation = pose.associatedObs.find(observation => observation.id === pose.main_site_observation); + const conformerSitesTag = categories.find(tagCategory => tagCategory.category === 'ConformerSites'); + const conformerSite = tags.find( + tag => tag.category === conformerSitesTag.id && tag.site_observations.includes(mainObservation.id) + ); + return conformerSite !== undefined ? conformerSite.tag_prefix : ''; + }, + [categories, tags] + ); const isActiveFilter = !!(filter || {}).active; @@ -427,7 +437,6 @@ export const ObservationCmpList = memo(({ hideProjects }) => { useEffect(() => { if (hitNavigatorRef && hitNavigatorRef.current) { - const resizeObserver = new ResizeObserver(() => { if (hitNavigatorRef.current.offsetWidth !== hitNavigatorWidth) { setHitNavigatorWidth(hitNavigatorRef.current.offsetWidth); @@ -438,7 +447,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => { return function cleanup() { resizeObserver.disconnect(); - } + }; } }, [hitNavigatorRef, hitNavigatorWidth]); @@ -831,7 +840,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => { }, [joinedMoleculeLists, lhsCompoundsList, sortOptions, sortOption, ascending]); useEffect(() => { - if (isObservationDialogOpen && observationsForLHSCmp?.length > 0) { + if (isObservationDialogOpen && observationsForLHSCmp?.length > 0 && lhsDataIsLoaded) { const cmpId = observationsForLHSCmp[0].cmpd; const cmp = filteredLHSCompoundsList.find(c => c.compound === cmpId); if (!cmp) { @@ -842,7 +851,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => { // dispatch(setObservationDialogAction(0, [], false)); } } - }, [isObservationDialogOpen, filteredLHSCompoundsList, observationsForLHSCmp, dispatch]); + }, [isObservationDialogOpen, filteredLHSCompoundsList, observationsForLHSCmp, dispatch, lhsDataIsLoaded]); const newMolsToEdit = []; allMoleculesList.forEach(cm => { @@ -1145,8 +1154,9 @@ export const ObservationCmpList = memo(({ hideProjects }) => { {filter.priorityOrder.map(attr => ( @@ -1280,17 +1290,20 @@ export const ObservationCmpList = memo(({ hideProjects }) => { )} - {`Selected: ${allSelectedMolecules ? allSelectedMolecules.length : 0 - }`} + {`Selected: ${ + allSelectedMolecules ? allSelectedMolecules.length : 0 + }`} - Sort by + + Sort by + - + - + - {(selectAllHitsPressed && hitNavigatorWidth > 508) || (!selectAllHitsPressed && hitNavigatorWidth > 491) ? 'Ascending' : 'ASC'} + + {(selectAllHitsPressed && hitNavigatorWidth > 508) || (!selectAllHitsPressed && hitNavigatorWidth > 491) + ? 'Ascending' + : 'ASC'} + diff --git a/js/components/preview/molecule/observationCmpView/observationCmpView.js b/js/components/preview/molecule/observationCmpView/observationCmpView.js index efb52fe60..23f452e7e 100644 --- a/js/components/preview/molecule/observationCmpView/observationCmpView.js +++ b/js/components/preview/molecule/observationCmpView/observationCmpView.js @@ -1149,7 +1149,7 @@ const ObservationCmpView = memo( const firstObs = getFirstObservationWithDensity(); dispatch(getDensityMapData(firstObs)).then(r => { if (r) { - dispatch(setDensityModalOpen(true)); + setDensityModalOpen(true); } else { addNewDensity(); } diff --git a/js/components/preview/molecule/redux/dispatchActions.js b/js/components/preview/molecule/redux/dispatchActions.js index 39f8eb42a..ac0044287 100644 --- a/js/components/preview/molecule/redux/dispatchActions.js +++ b/js/components/preview/molecule/redux/dispatchActions.js @@ -34,7 +34,9 @@ import { setTagEditorOpen, setMoleculeForTagEdit, setSelectVisiblePoses, - setUnselectVisiblePoses + setUnselectVisiblePoses, + appendToBeDisplayedList, + updateInToBeDisplayedList } from '../../../../reducers/selection/actions'; import { base_url } from '../../../routes/constants'; import { @@ -79,6 +81,7 @@ import { CATEGORY_TYPE } from '../../../../constants/constants'; import { selectJoinedMoleculeList } from './selectors'; import { compareTagsAsc } from '../../tags/utils/tagUtils'; import { createPoseApi, updatePoseApi } from '../api/poseApi'; +import { NGL_OBJECTS } from '../../../../reducers/ngl/constants'; // import { molFile, pdbApo } from './testData'; /** @@ -147,12 +150,12 @@ export const autoHideTagEditorDialogsOnScroll = ({ tagEditorRef, scrollBarRef }) } }; -const getViewUrl = (get_view, data) => { +export const getViewUrl = (get_view, data) => { const url = new URL(base_url + '/api/' + get_view + '/' + data.id + '/'); return url; }; -const handleVector = (json, stage, data) => (dispatch, getState) => { +export const handleVector = (json, stage, data) => (dispatch, getState) => { const state = getState(); const { vector_list, compoundsOfVectors } = state.selectionReducers; @@ -179,41 +182,13 @@ const handleVector = (json, stage, data) => (dispatch, getState) => { }; export const addVector = (stage, data, skipTracking = false) => async (dispatch, getState) => { - const currentVector = getState().selectionReducers.currentVector; - - dispatch(appendVectorOnList(generateMoleculeId(data), skipTracking)); - dispatch(selectVectorAndResetCompounds(currentVector)); - - return api({ url: getViewUrl('graph', data) }) - .then(response => { - const result = response.data.graph; - const new_dict = {}; - // Uniquify - if (result) { - Object.keys(result).forEach(key => { - const smiSet = new Set(); - new_dict[key] = {}; - new_dict[key]['addition'] = []; - new_dict[key]['vector'] = result[key]['vector']; - Object.keys(result[key]['addition']).forEach(index => { - const newSmi = result[key]['addition'][index]['end']; - if (smiSet.has(newSmi) !== true) { - new_dict[key]['addition'].push(result[key]['addition'][index]); - smiSet.add(newSmi); - } - }); - }); - } - return dispatch(updateVectorCompounds(data.smiles, new_dict)); - }) - .then(() => api({ url: new URL(base_url + '/api/vector/?id=' + data.id) })) - .then(response => { - dispatch(handleVector(response.data?.results[0]?.vectors, stage, data)); + dispatch( + appendToBeDisplayedList({ + type: NGL_OBJECTS.VECTOR, + id: data.id, + display: true }) - .finally(() => { - const currentOrientation = stage.viewerControls.getOrientation(); - dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); - }); + ); }; export const removeCurrentVector = currentMoleculeSmile => (dispatch, getState) => { @@ -226,19 +201,7 @@ export const removeCurrentVector = currentMoleculeSmile => (dispatch, getState) }; export const removeVector = (stage, data, skipTracking = false) => (dispatch, getState) => { - const state = getState(); - const vector_list = state.selectionReducers.vector_list; - vector_list - .filter(item => item.moleculeId === data.id) - .forEach(item => dispatch(deleteObject(Object.assign({ display_div: VIEWS.MAJOR_VIEW }, item), stage))); - - dispatch(removeCurrentVector(data.smiles)); - - dispatch(updateVectorCompounds(data.smiles, undefined)); - dispatch(updateBondColorMapOfCompounds(data.smiles, undefined)); - dispatch(removeFromVectorOnList(generateMoleculeId(data), skipTracking)); - - dispatch(setVectorList(vector_list.filter(item => item.moleculeId !== data.id))); + dispatch(updateInToBeDisplayedList({ id: data.id, display: false, type: NGL_OBJECTS.VECTOR })); }; export const addComplex = ( @@ -249,29 +212,19 @@ export const addComplex = ( representations = undefined, preserveColour = false ) => async dispatch => { - dispatch(appendComplexList(generateMoleculeId(data), skipTracking)); - return dispatch( - loadObject({ - target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateComplexObject(data, colourToggle, base_url)), - stage, - previousRepresentations: representations, - orientationMatrix: null, - preserveColour + dispatch( + appendToBeDisplayedList({ + type: NGL_OBJECTS.COMPLEX, + id: data.id, + display: true, + representations: representations, + preserveColour: preserveColour }) - ).finally(() => { - const currentOrientation = stage.viewerControls.getOrientation(); - dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); - }); + ); }; export const removeComplex = (stage, data, colourToggle, skipTracking = false) => dispatch => { - dispatch( - deleteObject( - Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateComplexObject(data, colourToggle, base_url)), - stage - ) - ); - dispatch(removeFromComplexList(generateMoleculeId(data), skipTracking)); + dispatch(updateInToBeDisplayedList({ id: data.id, display: false, type: NGL_OBJECTS.COMPLEX })); }; export const addSurface = ( @@ -282,29 +235,19 @@ export const addSurface = ( representations = undefined, preserveColour = false ) => async dispatch => { - dispatch(appendSurfaceList(generateMoleculeId(data), skipTracking)); - return dispatch( - loadObject({ - target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateSurfaceObject(data, colourToggle, base_url)), - stage, - previousRepresentations: representations, - orientationMatrix: null, - preserveColour + dispatch( + appendToBeDisplayedList({ + type: NGL_OBJECTS.SURFACE, + id: data.id, + display: true, + representations: representations, + preserveColour: preserveColour }) - ).finally(() => { - const currentOrientation = stage.viewerControls.getOrientation(); - dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); - }); + ); }; export const removeSurface = (stage, data, colourToggle, skipTracking = false) => dispatch => { - dispatch( - deleteObject( - Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateSurfaceObject(data, colourToggle, base_url)), - stage - ) - ); - dispatch(removeFromSurfaceList(generateMoleculeId(data), skipTracking)); + dispatch(updateInToBeDisplayedList({ id: data.id, display: false, type: NGL_OBJECTS.SURFACE })); }; export const getDensityMapData = data => dispatch => { @@ -347,52 +290,18 @@ const setDensity = ( skipTracking = false, representations = undefined ) => async (dispatch, getState) => { - const prepParams = dispatch(getDensityChangedParams(isWireframeStyle)); - const densityObject = generateDensityObject(data, colourToggle, base_url, isWireframeStyle); - const combinedObject = { ...prepParams, ...densityObject }; dispatch( - loadObject({ - target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, combinedObject), - stage, - previousRepresentations: representations, - orientationMatrix: null + appendToBeDisplayedList({ + type: NGL_OBJECTS.DENSITY, + id: data.id, + display: true, + representations: representations, + isWireframeStyle: isWireframeStyle }) - ).finally(() => { - const currentOrientation = stage.viewerControls.getOrientation(); - dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); - let molDataId = generateMoleculeId(data); - if (!data.proteinData) { - dispatch(getProteinData(data)).then(i => { - const proteinData = i; - data.proteinData = proteinData; - - molDataId['render_event'] = data.proteinData.render_event; - molDataId['render_sigmaa'] = data.proteinData.render_sigmaa; - molDataId['render_diff'] = data.proteinData.render_diff; - molDataId['render_quality'] = data.proteinData.render_quality; - - dispatch(appendDensityList(generateMoleculeId(data), skipTracking)); - dispatch(appendToDensityListType(molDataId, skipTracking)); - if (data.proteinData.render_quality) { - return dispatch(addQuality(stage, data, colourToggle, true)); - } - }); - } else { - molDataId['render_event'] = data.proteinData.render_event; - molDataId['render_sigmaa'] = data.proteinData.render_sigmaa; - molDataId['render_diff'] = data.proteinData.render_diff; - molDataId['render_quality'] = data.proteinData.render_quality; - - dispatch(appendDensityList(generateMoleculeId(data), skipTracking)); - dispatch(appendToDensityListType(molDataId, skipTracking)); - if (data.proteinData.render_quality) { - return dispatch(addQuality(stage, data, colourToggle, true)); - } - } - }); + ); }; -const getDensityChangedParams = (isWireframeStyle = undefined) => (dispatch, getState) => { +export const getDensityChangedParams = (isWireframeStyle = undefined) => (dispatch, getState) => { const state = getState(); const viewParams = state.nglReducers.viewParams; @@ -428,21 +337,12 @@ export const addDensityCustomView = ( ) => async (dispatch, getState) => { const state = getState(); const viewParams = state.nglReducers.viewParams; - // const contour_DENSITY = viewParams[NGL_PARAMS.contour_DENSITY]; - // const contour_DENSITY_MAP_sigmaa = viewParams[NGL_PARAMS.contour_DENSITY_MAP_sigmaa]; - // const contour_DENSITY_MAP_diff = viewParams[NGL_PARAMS.contour_DENSITY_MAP_diff]; if (data.proteinData) { return dispatch(setDensityCustom(stage, data, colourToggle, isWireframeStyle, skipTracking, representations)); - // dispatch(setNglViewParams(NGL_PARAMS.contour_DENSITY, invertedWireframe)); - // dispatch(setNglViewParams(NGL_PARAMS.contour_DENSITY_MAP_sigmaa, invertedWireframe)); - // dispatch(setNglViewParams(NGL_PARAMS.contour_DENSITY_MAP_diff, invertedWireframe)); } else { await dispatch(getDensityMapData(data)); return dispatch(setDensityCustom(stage, data, colourToggle, isWireframeStyle, skipTracking, representations)); } - // dispatch(setNglViewParams(NGL_PARAMS.contour_DENSITY, invertedWireframe)); - // dispatch(setNglViewParams(NGL_PARAMS.contour_DENSITY_MAP_sigmaa, invertedWireframe)); - // dispatch(setNglViewParams(NGL_PARAMS.contour_DENSITY_MAP_diff, invertedWireframe)); }; export const toggleDensityWireframe = (currentWireframeSetting, densityData) => dispatch => { @@ -470,26 +370,15 @@ const setDensityCustom = ( skipTracking = false, representations = undefined ) => async (dispatch, getState) => { - let densityObject = dispatch(getDensityChangedParams()); - densityObject = dispatch(toggleDensityWireframe(isWireframeStyle, densityObject)); - const oldDensityData = dispatch(deleteDensityObject(data, colourToggle, stage, !isWireframeStyle)); - densityObject = { ...densityObject, ...oldDensityData }; - const molId = generateMoleculeId(data); - dispatch(removeFromDensityList(molId, true)); - // dispatch(removeFromDensityListType(molId, true)); - - dispatch(appendDensityListCustom(generateMoleculeId(data), skipTracking)); - return dispatch( - loadObject({ - target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, densityObject), - stage, - previousRepresentations: representations, - orientationMatrix: null + dispatch( + appendToBeDisplayedList({ + type: NGL_OBJECTS.DENSITY_CUSTOM, + id: data.id, + display: true, + representations: representations, + isWireframeStyle: isWireframeStyle }) - ).finally(() => { - const currentOrientation = stage.viewerControls.getOrientation(); - dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); - }); + ); }; export const removeDensity = ( @@ -500,19 +389,17 @@ export const removeDensity = ( skipTracking = false, representations = undefined ) => dispatch => { - dispatch(toggleDensityWireframe(isWireframeStyle)); - dispatch(deleteDensityObject(data, colourToggle, stage, isWireframeStyle)); - - const molId = generateMoleculeId(data); - dispatch(removeFromDensityList(molId, skipTracking)); - dispatch(removeFromDensityListCustom(molId, true)); - dispatch(removeFromDensityListType(molId, skipTracking)); - if (data.proteinData.render_quality) { - dispatch(removeQuality(stage, data, colourToggle, true)); - } + dispatch( + updateInToBeDisplayedList({ + id: data.id, + display: false, + isWireframeStyle: isWireframeStyle, + type: NGL_OBJECTS.DENSITY_CUSTOM + }) + ); }; -const deleteDensityObject = (data, colourToggle, stage, isWireframeStyle) => dispatch => { +export const deleteDensityObject = (data, colourToggle, stage, isWireframeStyle) => dispatch => { const densityObject = generateDensityObject(data, colourToggle, base_url, isWireframeStyle); dispatch(deleteObject(Object.assign({ display_div: VIEWS.MAJOR_VIEW }, densityObject), stage)); @@ -534,44 +421,20 @@ export const addHitProtein = ( representations = undefined, preserveColour = false ) => async dispatch => { - // data.sdf_info = molFile; - dispatch(appendProteinList(generateMoleculeId(data), skipTracking)); - let hitProteinObject = generateHitProteinObject(data, colourToggle, base_url); - let qualityInformation = dispatch(readQualityInformation(hitProteinObject.name, hitProteinObject.sdf_info)); - - let hasAdditionalInformation = - withQuality === true && - qualityInformation && - qualityInformation.badproteinids && - qualityInformation.badproteinids.length !== 0; - if (hasAdditionalInformation) { - dispatch(appendQualityList(generateMoleculeId(data), true)); - } - - return dispatch( - loadObject({ - target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, hitProteinObject), - stage, - previousRepresentations: representations, - orientationMatrix: null, - loadQuality: hasAdditionalInformation, - quality: qualityInformation, - preserveColour + dispatch( + appendToBeDisplayedList({ + type: NGL_OBJECTS.PROTEIN, + id: data.id, + display: true, + withQuality: withQuality, + representations: representations, + preserveColour: preserveColour }) - ).finally(() => { - const currentOrientation = stage.viewerControls.getOrientation(); - dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); - }); + ); }; export const removeHitProtein = (stage, data, colourToggle, skipTracking = false) => dispatch => { - dispatch( - deleteObject( - Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateHitProteinObject(data, colourToggle, base_url)), - stage - ) - ); - dispatch(removeFromProteinList(generateMoleculeId(data), skipTracking)); + dispatch(updateInToBeDisplayedList({ id: data.id, display: false, type: NGL_OBJECTS.PROTEIN })); }; export const addLigand = ( @@ -583,68 +446,41 @@ export const addLigand = ( skipTracking = false, representations = undefined ) => async (dispatch, getState) => { - // data.sdf_info = molFile; - console.count(`Grabbing orientation before loading ligand.`); - const currentOrientation = stage.viewerControls.getOrientation(); - dispatch(appendFragmentDisplayList(generateMoleculeId(data), skipTracking)); - - let moleculeObject = generateMoleculeObject(data, colourToggle); - let qualityInformation = dispatch(readQualityInformation(moleculeObject.name, moleculeObject.sdf_info)); - - let hasAdditionalInformation = - withQuality === true && qualityInformation && qualityInformation.badids && qualityInformation.badids.length !== 0; - if (hasAdditionalInformation) { - dispatch(appendQualityList(generateMoleculeId(data), true)); - } - - return dispatch( - loadObject({ - target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, moleculeObject), - stage, - previousRepresentations: representations, - loadQuality: hasAdditionalInformation, - quality: qualityInformation + dispatch( + appendToBeDisplayedList({ + type: NGL_OBJECTS.LIGAND, + id: data.id, + display: true, + center: centerOn, + withQuality: withQuality, + representations: representations }) - ).then(() => { - const state = getState(); - const skipOrientation = state.trackingReducers.skipOrientationChange; - if (!skipOrientation) { - const ligandOrientation = stage.viewerControls.getOrientation(); - dispatch(setOrientation(VIEWS.MAJOR_VIEW, ligandOrientation)); - - dispatch(appendMoleculeOrientation(data?.id, ligandOrientation)); - if (centerOn === false) { - // keep current orientation of NGL View - console.count(`Before applying orientation matrix after loading ligand.`); - stage.viewerControls.orient(currentOrientation); - console.count(`After applying orientation matrix after loading ligand.`); - } - } - }); + ); }; export const removeLigand = (stage, data, skipTracking = false, withVector = true) => dispatch => { - dispatch(deleteObject(Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateMoleculeObject(data)), stage)); - dispatch(removeFromFragmentDisplayList(generateMoleculeId(data), skipTracking)); - dispatch(removeFromQualityList(generateMoleculeId(data), true)); - - if (withVector === true) { - // remove vector - dispatch(removeVector(stage, data, skipTracking)); - } + dispatch( + updateInToBeDisplayedList({ id: data.id, display: false, withVector: withVector, type: NGL_OBJECTS.LIGAND }) + ); }; export const addQuality = (stage, data, colourToggle, skipTracking = false, representations = undefined) => ( dispatch, getState ) => { - dispatch(deleteObject(Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateMoleculeObject(data)), stage)); + dispatch(removeFromFragmentDisplayList(generateMoleculeId(data))); + dispatch(removeFromQualityList(generateMoleculeId(data))); + dispatch(updateInToBeDisplayedList({ id: data.id, display: false, type: NGL_OBJECTS.LIGAND })); + // dispatch(deleteObject(Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateMoleculeObject(data)), stage)); dispatch(appendQualityList(generateMoleculeId(data), skipTracking)); return dispatch(addLigand(stage, data, colourToggle, false, true, true, representations)); }; export const removeQuality = (stage, data, colourToggle, skipTracking = false) => dispatch => { - dispatch(deleteObject(Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateMoleculeObject(data)), stage)); + dispatch(removeFromFragmentDisplayList(generateMoleculeId(data))); + dispatch(removeFromQualityList(generateMoleculeId(data))); + dispatch(updateInToBeDisplayedList({ id: data.id, display: false, type: NGL_OBJECTS.LIGAND })); + // dispatch(deleteObject(Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateMoleculeObject(data)), stage)); dispatch(addLigand(stage, data, colourToggle, false, false, true)); dispatch(removeFromQualityList(generateMoleculeId(data), skipTracking)); }; @@ -1032,22 +868,6 @@ export const removeSelectedMolTypes = (majorViewStage, molecules, skipTracking, }); }; -// export const searchMoleculeGroupByMoleculeID = moleculeID => (dispatch, getState) => -// api({ url: `${base_url}/api/molgroup/?mol_id=${moleculeID}` }).then(response => { -// let resultMolGroupID = null; -// const molGroupID = response?.data?.results[0]?.id; -// const mol_group_list = getState().apiReducers.mol_group_list; - -// if (mol_group_list && Array.isArray(mol_group_list) && molGroupID) { -// mol_group_list.forEach((item, index) => { -// if (item.id === molGroupID) { -// resultMolGroupID = index + 1; -// } -// }); -// } -// return Promise.resolve(resultMolGroupID); -// }); - export const applyDirectSelection = stage => (dispatch, getState) => { const state = getState(); @@ -1095,6 +915,7 @@ export const applyDirectSelection = stage => (dispatch, getState) => { }; export const getQualityInformation = (data, molType, width, height) => (dispatch, getState) => { + if (!data) return null; let moleculeObject = generateMoleculeObject(data); let qualityInformation = dispatch(readQualityInformation(moleculeObject.name, data.ligand_mol_file)); @@ -1110,44 +931,9 @@ export const getQualityInformation = (data, molType, width, height) => (dispatch export const getProteinData = molecule => dispatch => { return new Promise((resolve, reject) => { resolve(molecule.proteinData); - }); /*dispatch(getProteinDataByMolId(molecule.id, molecule.code));*/ + }); }; -// export const getProteinDataByMolId = (molId, proteinCode) => (dispatch, getState) => { -// const state = getState(); -// const proteindDataCache = state.previewReducers.molecule.proteinDataCache; - -// const molIdStr = molId.toString(); -// if (proteindDataCache.hasOwnProperty(molIdStr)) { -// return new Promise((resolve, reject) => { -// resolve(proteindDataCache[molIdStr]); -// }); -// } else { -// return loadProteinData(proteinCode).then(i => { -// if (!proteindDataCache.hasOwnProperty(molIdStr)) { -// dispatch(addProteindDataToCache(molId.toString(), i)); -// } -// return i; -// }); -// } -// }; - -// const loadProteinData = code => { -// if (code) { -// let url = new URL(`${base_url}/api/proteins/?code=${code}`); -// let onCancel = () => {}; -// return api({ -// url, -// onCancel -// }).then(response => { -// return response.data.results; -// }); -// } else { -// console.error('Trying to load protein data for unknown molecule protein code.'); -// return Promise.resolve(); -// } -// }; - export const getMolImage = (molId, molType, width, height) => (dispatch, getState) => { const state = getState(); @@ -1260,7 +1046,10 @@ export const selectAllHits = (allFilteredLhsCompounds, setNextXMolecules, unsele } }; -export const selectAllVisibleObservations = (visibleObservations, setNextXMolecules, unselect) => (dispatch, getState) => { +export const selectAllVisibleObservations = (visibleObservations, setNextXMolecules, unselect) => ( + dispatch, + getState +) => { if (setNextXMolecules) { dispatch(setNextXMolecules(visibleObservations?.length || 0)); } diff --git a/js/components/preview/molecule/useScrollToSelectedPose.js b/js/components/preview/molecule/useScrollToSelectedPose.js index 3d315e7a4..84083324b 100644 --- a/js/components/preview/molecule/useScrollToSelectedPose.js +++ b/js/components/preview/molecule/useScrollToSelectedPose.js @@ -27,6 +27,8 @@ export const useScrollToSelectedPose = (moleculesPerPage, setCurrentPage) => { const [moleculeViewRefs, setMoleculeViewRefs] = useState({}); const [scrollToMoleculeId, setScrollToMoleculeId] = useState(null); + const lhsDataIsLoaded = useSelector(state => state.apiReducers.lhsDataIsLoaded); + // First pass, iterates over all the molecules and checks if any of them is selected. If it is, // it saves the ID of the molecule and determines how many pages of molecules should be displayed. // This is done only once. @@ -72,7 +74,9 @@ export const useScrollToSelectedPose = (moleculesPerPage, setCurrentPage) => { } } - dispatch(setScrollFiredForLHS(true)); + if (lhsDataIsLoaded) { + dispatch(setScrollFiredForLHS(true)); + } }, [ dispatch, poses, @@ -89,7 +93,8 @@ export const useScrollToSelectedPose = (moleculesPerPage, setCurrentPage) => { densityListCustom, vectorOnList, poseIdForObservationsDialog, - isObservationsDialogOpen + isObservationsDialogOpen, + lhsDataIsLoaded ]); // Second pass, once the list of molecules is displayed and the refs to their DOM nodes have been diff --git a/js/components/preview/molecule/utils/color.js b/js/components/preview/molecule/utils/color.js index 7e1a75e9d..a27e384e8 100644 --- a/js/components/preview/molecule/utils/color.js +++ b/js/components/preview/molecule/utils/color.js @@ -13,4 +13,10 @@ export const colourList = [ '#FFA5AB' ]; -export const getRandomColor = molecule => colourList[molecule.id % colourList.length]; +export const getRandomColor = molecule => { + if (molecule) { + return colourList[molecule?.id % colourList.length]; + } else { + return colourList[0]; + } +}; diff --git a/js/components/preview/moleculeGroups/redux/dispatchActions.js b/js/components/preview/moleculeGroups/redux/dispatchActions.js index 9b4c7f09f..a03e41cb2 100644 --- a/js/components/preview/moleculeGroups/redux/dispatchActions.js +++ b/js/components/preview/moleculeGroups/redux/dispatchActions.js @@ -21,7 +21,6 @@ import { OBJECT_TYPE } from '../../../nglView/constants'; import { setSortDialogOpen } from '../../molecule/redux/actions'; import { resetCurrentCompoundsSettings } from '../../compounds/redux/actions'; import { reloadSession } from '../../../snapshot/redux/dispatchActions'; -import { resetRestoringState } from '../../../../reducers/tracking/dispatchActions'; import { URLS } from '../../../routes/constants'; export const clearAfterDeselectingMoleculeGroup = ({ molGroupId }) => dispatch => { @@ -179,7 +178,6 @@ export const restoreFromCurrentSnapshot = ({ nglViewList }) => (dispatch, getSta }; export const restoreSnapshotActions = ({ nglViewList, projectId, snapshotId, history }) => (dispatch, getState) => { - dispatch(resetRestoringState(nglViewList)); // Trigger react-router to get rid of snapshot just saved flag history.replace(`${URLS.projects}${projectId}/${snapshotId}`); }; diff --git a/js/components/preview/projectHistoryPanel/ProjectHistory.js b/js/components/preview/projectHistoryPanel/ProjectHistory.js index d1bf33a22..8791decc7 100644 --- a/js/components/preview/projectHistoryPanel/ProjectHistory.js +++ b/js/components/preview/projectHistoryPanel/ProjectHistory.js @@ -6,7 +6,14 @@ import { makeStyles, Tooltip } from '@material-ui/core'; import { Button } from '../../common/Inputs/Button'; import { useDispatch, useSelector } from 'react-redux'; import palette from '../../../theme/palette'; -import { setIsOpenModalBeforeExit, setSelectedSnapshotToSwitch } from '../../snapshot/redux/actions'; +import { + setDisableRedirect, + setDontShowShareSnapshot, + setIsOpenModalBeforeExit, + setSelectedSnapshotToSwitch, + setSnapshotEditDialogOpen, + setSnapshotToBeEdited +} from '../../snapshot/redux/actions'; import JobPopup from './JobPopup'; import JobConfigurationDialog from './JobConfigurationDialog'; import { setJobPopUpAnchorEl, setJobConfigurationDialogOpen, refreshJobsData } from '../../projects/redux/actions'; @@ -14,11 +21,17 @@ import JobLauncherDialog from './JobLauncherDialog'; import { DJANGO_CONTEXT } from '../../../utils/djangoContext'; import { SQUONK_NOT_AVAILABLE } from './constants'; import { PROJECTS_JOBS_PANEL_HEIGHT } from '../constants'; -import { changeSnapshot } from '../../../reducers/tracking/dispatchActionsSwitchSnapshot'; import { NglContext } from '../../nglView/nglProvider'; import { VIEWS } from '../../../constants/constants'; import { useRouteMatch } from 'react-router-dom'; import { setSnapshotLoadingInProgress } from '../../../reducers/api/actions'; +import { changeSnapshot, createNewSnapshot, isSnapshotModified } from '../../snapshot/redux/dispatchActions'; +import moment from 'moment'; +import { SnapshotType } from '../../projects/redux/constants'; +import { getSnapshotAttributesByID } from '../../projects/redux/dispatchActions'; +import { ToastContext } from '../../toast'; +import { deepClone } from '../../../utils/objectUtils'; +import { result } from 'lodash'; export const heightOfProjectHistory = PROJECTS_JOBS_PANEL_HEIGHT; @@ -89,18 +102,18 @@ export const ProjectHistory = memo(({ showFullHistory, graphKey, expanded, onExp const currentSnapshotJobList = useSelector(state => state.projectReducers.currentSnapshotJobList); const currentSnapshotTree = useSelector(state => state.projectReducers.currentSnapshotTree); const jobPopUpAnchorEl = useSelector(state => state.projectReducers.jobPopUpAnchorEl); - const isSnapshotDirty = useSelector(state => state.trackingReducers.isSnapshotDirty); + // const isSnapshotDirty = false; //useSelector(state => state.snapshotReducers.isSnapshotDirty); const currentSessionProject = useSelector(state => state.projectReducers.currentProject); const currentSessionProjectID = currentSessionProject && currentSessionProject.projectID; const sessionProjectID = paramsProjectID && paramsProjectID != null ? paramsProjectID : currentSessionProjectID; const currentProject = useSelector(state => state.targetReducers.currentProject); - const actionListNGL = useSelector(state => state.nglTrackingReducers.track_actions_list); - const actionList = useSelector(state => state.trackingReducers.track_actions_list); const [tryToOpen, setTryToOpen] = useState(false); const [transitionToSnapshot, setTransitionToSnapshot] = useState(null); + const { toastError, toastInfo } = useContext(ToastContext); + const [jobPopupInfo, setJobPopupInfo] = useState({ hash: null, jobInfo: null @@ -115,17 +128,91 @@ export const ProjectHistory = memo(({ showFullHistory, graphKey, expanded, onExp setTransitionToSnapshot(commit); }, []); + const createSnapshot = useCallback( + (title, description) => { + // Prepare snapshot data + const type = SnapshotType.MANUAL; + const author = DJANGO_CONTEXT['pk'] || null; + const parent = currentSnapshotID; + const session_project = currentSessionProject.projectID; + + // Prevents redirect and displaying of share snapshot dialog + dispatch(setDisableRedirect(true)); + dispatch(setDontShowShareSnapshot(true)); + + // With the above flags set, createNewSnapshot returns the ID of newly created snapshot as the second item in the array + return dispatch( + createNewSnapshot({ + title, + description, + type, + author, + parent, + session_project, + nglViewList, + stage, + overwriteSnapshot: false, + createDiscourse: false + }) + ); + }, + [currentSessionProject.projectID, currentSnapshotID, dispatch, nglViewList, stage] + ); + + const editSnapshot = useCallback( + snapshotCopy => { + dispatch(setSnapshotToBeEdited(snapshotCopy)); + dispatch(setSnapshotEditDialogOpen(true)); + }, + [dispatch] + ); + useEffect(() => { - if (isSnapshotDirty && tryToOpen && transitionToSnapshot) { - dispatch(setSelectedSnapshotToSwitch(transitionToSnapshot.hash)); - dispatch(setIsOpenModalBeforeExit(true)); - setTryToOpen(false); - // dispatch(changeSnapshot(sessionProjectID, transitionToSnapshot.hash, nglViewList, stage)); - } else if (!isSnapshotDirty && tryToOpen && transitionToSnapshot) { - dispatch(changeSnapshot(sessionProjectID, transitionToSnapshot.hash, nglViewList, stage)); - setTryToOpen(false); - } - }, [dispatch, isSnapshotDirty, nglViewList, sessionProjectID, stage, transitionToSnapshot, tryToOpen]); + const switchSnapshot = async () => { + if (tryToOpen && transitionToSnapshot) { + const modifiedResult = await dispatch(isSnapshotModified(currentSnapshotID)); + if (modifiedResult) { + console.log(`ProjectHistory - useEffect - save first and then switch to snapshot`); + const title = moment().format('-- YYYY-MM-DD -- HH:mm:ss'); + const description = `snapshot generated by ${DJANGO_CONTEXT['username']}`; + createSnapshot(title, description) + .then(newSnapshotId => { + const options = { + link: { + linkAction: editSnapshot, + linkText: 'Click to edit', + linkParams: [{ id: newSnapshotId, title: title, description: description }] + } + }; + dispatch(changeSnapshot(sessionProjectID, transitionToSnapshot.hash, stage)); + setTryToOpen(false); + toastInfo('New snapshot created. Switching to selected snapshot.', options); + }) + .catch(err => { + toastError('Error creating new snapshot. Unable to switch to selected snapshot.'); + console.error(`ProjectHistory - useEffect - createSnapshot - error: ${err}`); + }); + } else if (!modifiedResult) { + console.log(`ProjectHistory - useEffect - switch to snapshot`); + dispatch(changeSnapshot(sessionProjectID, transitionToSnapshot.hash, stage)); + setTryToOpen(false); + } + } + }; + switchSnapshot(); + }, [ + createSnapshot, + currentSnapshotID, + dispatch, + editSnapshot, + nglViewList, + sessionProjectID, + stage, + toastError, + toastInfo, + transitionToSnapshot, + tryToOpen + ]); const commitFunction = useCallback( ({ title, hash, isSelected = false }) => { @@ -214,7 +301,7 @@ export const ProjectHistory = memo(({ showFullHistory, graphKey, expanded, onExp }; const renderTreeNode = (gitgraph, node, parentBranch) => { - if (node !== undefined) { + if (node && Object.keys(node).length > 0) { const newBranch = gitgraph.branch({ name: node.title, from: parentBranch @@ -243,7 +330,7 @@ export const ProjectHistory = memo(({ showFullHistory, graphKey, expanded, onExp ); }); - node.children.forEach(childID => { + node?.children?.forEach(childID => { renderTreeNode(gitgraph, currentSnapshotList[childID], newBranch); }); } @@ -301,7 +388,7 @@ export const ProjectHistory = memo(({ showFullHistory, graphKey, expanded, onExp
{gitgraph => { - if (!!currentSnapshotTree) { + if (!!currentSnapshotTree && currentSnapshotList) { renderTreeNode(gitgraph, currentSnapshotTree); } }} diff --git a/js/components/preview/projectHistoryPanel/ProjectHistoryPanel.js b/js/components/preview/projectHistoryPanel/ProjectHistoryPanel.js index b2815a736..7d5ab3b08 100644 --- a/js/components/preview/projectHistoryPanel/ProjectHistoryPanel.js +++ b/js/components/preview/projectHistoryPanel/ProjectHistoryPanel.js @@ -28,7 +28,7 @@ export const ProjectHistoryPanel = ({ showFullHistory }) => { const [graphKey, setGraphKey] = useState(new Date().getTime()); useEffect(() => { - if (currentSnapshotID !== null) { + if (currentSnapshotID !== null && projectID && target_on && target_on !== '') { dispatch(loadSnapshotTree(projectID)); dispatch(loadNewDatasetsAndCompounds(target_on)); } diff --git a/js/components/preview/projectHistoryPanel/editSnapshotDialog.js b/js/components/preview/projectHistoryPanel/editSnapshotDialog.js new file mode 100644 index 000000000..885fdf016 --- /dev/null +++ b/js/components/preview/projectHistoryPanel/editSnapshotDialog.js @@ -0,0 +1,183 @@ +import { Button, Grid, makeStyles, Modal } from '@material-ui/core'; +import React from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { Field, Form, Formik } from 'formik'; +import { TextField } from 'formik-material-ui'; +import { setSnapshotEditDialogOpen, setSnapshotToBeEdited } from '../../snapshot/redux/actions'; +import { base_url } from '../../routes/constants'; +import { api, METHOD } from '../../../utils/api'; +import { addToastMessage } from '../../../reducers/selection/actions'; +import { TOAST_LEVELS } from '../../toast/constants'; +import { InputFieldAvatar } from '../../projects/projectModal/inputFieldAvatar'; +import { Description, Title } from '@material-ui/icons'; + +const useStyles = makeStyles(theme => ({ + body: { + width: '100%', + marginTop: theme.spacing(1), + marginBottom: theme.spacing(1) + }, + input: { + width: 400 + }, + margin: { + margin: theme.spacing(1) + }, + formControl: { + margin: theme.spacing(1), + width: 400 + }, + editSnashotPopup: { + width: '600px', + borderRadius: '5px', + border: '1px solid #000', + display: 'flex', + flexDirection: 'column', + position: 'absolute', + top: '50%', + left: '50%', + transform: 'translate(-50%, -50%)' + }, + + topPopup: { + width: '100%', + borderRadius: '5px 5px 0 0', + backgroundColor: '#3f51b5', + color: '#fff', + paddingLeft: '10px', + lineHeight: '30px' + }, + + popUpButton: { + borderRadius: '0 5px 0 0', + backgroundColor: '#d33f3f', + color: '#fff', + padding: '5px 10px 5px 10px', + border: 'none', + float: 'right', + height: '30px', + '&:hover': { + borderRadius: '0 5px 0 0', + backgroundColor: '#aa3939', + color: '#fff', + cursor: 'pointer' + } + }, + + bodyPopup: { + padding: '10px', + backgroundColor: '#ffffff', + borderRadius: '0 0 5px 5px' + } +})); + +export const EditSnapshotDialog = () => { + const classes = useStyles(); + const dispatch = useDispatch(); + + const isSnapshotEditDialogOpen = useSelector(state => state.snapshotReducers.isSnapshotEditDialogOpen); + const snapshotToBeEdited = useSelector(state => state.snapshotReducers.snapshotToBeEdited); + + const onClose = () => { + dispatch(setSnapshotEditDialogOpen(true)); + dispatch(setSnapshotToBeEdited(null)); + }; + + const validate = values => { + const errors = {}; + + if (values.name === '') { + errors.name = 'Required'; + } + if (values.description === '') { + errors.description = 'Required'; + } + + return errors; + }; + + const onSubmitForm = async ({ name, description }) => { + snapshotToBeEdited && + api({ + url: `${base_url}/api/snapshots/${snapshotToBeEdited.id}/`, + method: METHOD.PATCH, + data: { title: name, description: description } + }) + .then(resp => { + snapshotToBeEdited.title = name; + snapshotToBeEdited.description = description; + dispatch(addToastMessage({ text: `Snapshot saved successfully.`, level: TOAST_LEVELS.SUCCESS })); + onClose(); + }) + .catch(err => { + dispatch(addToastMessage({ text: 'Saving snapshot failed.', level: TOAST_LEVELS.ERROR })); + console.error(`Error while saving the snapshot: ${err}`); + }); + }; + + return ( + snapshotToBeEdited && ( + +
+
+ Edit target + +
+
+ + {({ submitForm, isSubmitting }) => ( +
+ + + } + field={ + + } + /> + + + } + field={ + + } + /> + + + + + + + + + + +
+ )} +
+
+
+
+ ) + ); +}; diff --git a/js/components/preview/redux/dispatchActions.js b/js/components/preview/redux/dispatchActions.js index 994d4888d..980ce9ca3 100644 --- a/js/components/preview/redux/dispatchActions.js +++ b/js/components/preview/redux/dispatchActions.js @@ -9,10 +9,7 @@ import { resetLoadedSnapshots, resetProjectsReducer } from '../../projects/redux import { resetSelectionState } from '../../../reducers/selection/actions'; import { URLS } from '../../routes/constants'; import { resetDatasetsState } from '../../datasets/redux/actions'; -import { restoreAfterTargetActions } from '../../../reducers/tracking/dispatchActions'; -import { resetTrackingState } from '../../../reducers/tracking/actions'; -import { setTargetOn } from '../../../reducers/api/actions'; -import { resetNglTrackingState } from '../../../reducers/nglTracking/dispatchActions'; +import { setProteinIsLoaded, setProteinIsLoading, setTargetOn } from '../../../reducers/api/actions'; import { resetViewerControlsState } from '../viewerControls/redux/actions'; // eslint-disable-next-line import/extensions import { default_squonk_project } from '../../../../package.json'; @@ -30,6 +27,7 @@ const loadProtein = nglView => (dispatch, getState) => { targetData = thisTarget; } }); + if (!targetData.template_protein) return; const targObject = generateProteinObject(targetData); if (targObject) { let newParams = { display_div: nglView.id }; @@ -39,7 +37,7 @@ const loadProtein = nglView => (dispatch, getState) => { return dispatch(loadObject({ target: Object.assign({}, targObject, newParams), stage: nglView.stage })); } } - return Promise.reject('Cannot load Protein to NGL View ID ', nglView.id); + // return Promise.reject('Cannot load Protein to NGL View ID ', nglView.id); }; export const shouldLoadProtein = ({ @@ -54,9 +52,14 @@ export const shouldLoadProtein = ({ const targetIdList = state.apiReducers.target_id_list; const targetOnId = state.apiReducers.target_on; + const proteinIsLoading = state.apiReducers.proteinIsLoading; + const proteinIsLoaded = state.apiReducers.proteinIsLoaded; + + if (proteinIsLoading || proteinIsLoaded) return; + const targetOn = targetIdList.find(target => target.id === targetOnId); - const isRestoring = state.trackingReducers.isActionRestoring; + const isRestoring = false; //state.trackingReducers.isActionRestoring; if ( targetIdList && targetIdList.length > 0 && @@ -65,33 +68,36 @@ export const shouldLoadProtein = ({ isLoadingCurrentSnapshot === false ) { // 1. Generate new protein or skip this action and everything will be loaded from project actions - if (!isStateLoaded && currentSnapshotID === null && !routeSnapshotID) { - dispatch(setProteinLoadingState(false)); - Promise.all( - nglViewList.map(nglView => - dispatch(loadProtein(nglView)).finally(() => { - dispatch(setOrientation(nglView.id, nglView.stage.viewerControls.getOrientation())); - }) - ) - ) - .then(() => { - dispatch(setProteinLoadingState(true)); - if (getState().nglReducers.countOfRemainingMoleculeGroups === 0) { - const summaryView = nglViewList.find(view => view.id === VIEWS.SUMMARY_VIEW); - dispatch(createInitialSnapshot(routeProjectID, summaryView)); - } + // if (!isStateLoaded && currentSnapshotID === null && !routeSnapshotID) { + dispatch(setProteinLoadingState(false)); + dispatch(setProteinIsLoading(true)); + Promise.all( + nglViewList.map(nglView => + dispatch(loadProtein(nglView)).finally(() => { + dispatch(setOrientation(nglView.id, nglView.stage.viewerControls.getOrientation())); }) - .catch(error => { - dispatch(setProteinLoadingState(false)); - throw new Error(error); - }); - } else if ( - currentSnapshotID !== null && - (!routeSnapshotID || routeSnapshotID === currentSnapshotID.toString()) && - isRestoring === true - ) { - dispatch(restoreAfterTargetActions(nglViewList, routeProjectID, currentSnapshotID)); - } + ) + ) + .then(() => { + dispatch(setProteinLoadingState(true)); + dispatch(setProteinIsLoading(false)); + dispatch(setProteinIsLoaded(true)); + if (getState().nglReducers.countOfRemainingMoleculeGroups === 0) { + const summaryView = nglViewList.find(view => view.id === VIEWS.SUMMARY_VIEW); + dispatch(createInitialSnapshot(routeProjectID, summaryView)); + } + }) + .catch(error => { + dispatch(setProteinLoadingState(false)); + throw new Error(error); + }); + // } else if ( + // currentSnapshotID !== null && + // (!routeSnapshotID || routeSnapshotID === currentSnapshotID.toString()) && + // isRestoring === true + // ) { + // // dispatch(restoreAfterTargetActions(nglViewList, routeProjectID, currentSnapshotID)); + // } if (targetOn !== undefined) { document.title = targetOn?.display_name @@ -133,8 +139,8 @@ export const unmountPreviewComponent = (stages = []) => dispatch => { } }); - dispatch(resetTrackingState()); - dispatch(resetNglTrackingState()); + // dispatch(resetTrackingState()); + // dispatch(resetNglTrackingState()); dispatch(resetCurrentCompoundsSettings(true)); dispatch(resetProjectsReducer()); @@ -161,8 +167,6 @@ export const resetReducersBetweenSnapshots = (stages = []) => dispatch => { dispatch(resetLoadedSnapshots()); dispatch(resetSelectionState()); dispatch(resetDatasetsState()); - dispatch(resetTrackingState()); - dispatch(resetNglTrackingState()); dispatch(setTargetOn(undefined)); dispatch(resetViewerControlsState()); }; diff --git a/js/components/preview/tags/withLoadingMolecules.js b/js/components/preview/tags/withLoadingMolecules.js index 36c964ca4..5a958efd6 100644 --- a/js/components/preview/tags/withLoadingMolecules.js +++ b/js/components/preview/tags/withLoadingMolecules.js @@ -7,27 +7,6 @@ import { compareTagsAsc } from '../tags/utils/tagUtils'; export const withLoadingMolecules = WrappedComponent => { return memo(({ ...rest }) => { - const dispatch = useDispatch(); - - const target_on = useSelector(state => state.apiReducers.target_on); - const isTrackingRestoring = useSelector(state => state.trackingReducers.isTrackingCompoundsRestoring); - const isAllDataLoaded = useSelector(state => state.apiReducers.all_data_loaded); - - // useEffect(() => { - // if (target_on && !isTrackingRestoring && !isAllDataLoaded) { - // dispatch(loadMoleculesAndTagsNew(target_on)); - // } - // }, [dispatch, target_on, isTrackingRestoring, isAllDataLoaded]); - - // useEffect(() => { - // if (target_on) { - // getTags(target_on).then(data => { - // const sorted = data.results.sort(compareTagsAsc); - // dispatch(setMoleculeTags(sorted)); - // }); - // } - // }, [dispatch, target_on]); - return ; }); }; diff --git a/js/components/preview/viewerControls/index.js b/js/components/preview/viewerControls/index.js index 2d0b6a6a8..6ace6970b 100644 --- a/js/components/preview/viewerControls/index.js +++ b/js/components/preview/viewerControls/index.js @@ -10,24 +10,7 @@ import { ButtonGroup, Grid, makeStyles, Tooltip } from '@material-ui/core'; import { SettingControls } from './settingsControls'; import DisplayControls from './displayControls/'; import { MouseControls } from './mouseControls'; -import { ActionCreators as UndoActionCreators } from '../../../undoredo/actions'; -import { - undoAction, - redoAction, - getCanRedo, - getCanUndo, - getUndoActionText, - getRedoActionText, - restoreNglViewSettings -} from '../../../../js/reducers/tracking/dispatchActions'; -import { - undoAction as nglUndoAction, - redoAction as nglRedoAction, - getUndoActionText as nglGetUndoActionText, - getRedoActionText as nglGetRedoActionText -} from '../../../../js/reducers/nglTracking/dispatchActions'; import { NglContext } from '../../nglView/nglProvider'; -import { nglTrackingRedo, nglTrackingUndo } from '../../../reducers/nglTracking/actions'; import { turnSide } from './redux/actions'; const drawers = { @@ -64,30 +47,9 @@ export const ViewerControls = memo(() => { const classes = useStyles(); const dispatch = useDispatch(); const { nglViewList } = useContext(NglContext); - const [undoTooltip, setUndoTooltip] = useState('Undo'); - const [redoTooltip, setRedoTooltip] = useState('Redo'); - const [canUndo, setCanUndo] = useState(true); - const [canRedo, setCanRedo] = useState(false); - const [nglUndoTooltip, nglSetUndoTooltip] = useState('Undo'); - const [nglRedoTooltip, nglSetRedoTooltip] = useState('Redo'); - const [nglLocked, setNglLocked] = useState(true); - const isActionTracking = useSelector(state => state.trackingReducers.isActionTracking); - - const nglUndoLength = useSelector(state => state.undoableNglTrackingReducers.past).length; - const nglRedoLength = useSelector(state => state.undoableNglTrackingReducers.future).length; - const nglCanUndo = nglUndoLength > 0; - const nglCanRedo = nglRedoLength > 0; const sidesOpen = useSelector(state => state.previewReducers.viewerControls.sidesOpen); - useEffect(() => { - nglSetUndoTooltip(dispatch(nglGetUndoActionText())); - }, [dispatch, nglUndoLength]); - - useEffect(() => { - nglSetRedoTooltip(dispatch(nglGetRedoActionText())); - }, [dispatch, nglRedoLength]); - const openDrawer = key => { //close all and open selected by key let newDrawerState = JSON.parse(JSON.stringify(initDrawers)); @@ -98,57 +60,6 @@ export const ViewerControls = memo(() => { setDrawerSettings(JSON.parse(JSON.stringify(initDrawers))); }; - const doUndo = () => { - dispatch(UndoActionCreators.undo()); - setCanRedo(dispatch(getCanRedo())); - setCanUndo(dispatch(getCanUndo())); - dispatch(undoAction(nglViewList)); - - setUndoTooltip(dispatch(getUndoActionText())); - setRedoTooltip(dispatch(getRedoActionText())); - }; - - const nglDoUndo = () => { - dispatch(nglTrackingUndo()); - dispatch(nglUndoAction(nglViewList)); - }; - - const doRedo = () => { - dispatch(UndoActionCreators.redo()); - setCanRedo(dispatch(getCanRedo())); - setCanUndo(dispatch(getCanUndo())); - dispatch(redoAction(nglViewList)); - - setUndoTooltip(dispatch(getUndoActionText())); - setRedoTooltip(dispatch(getRedoActionText())); - }; - - const nglDoRedo = () => { - dispatch(nglTrackingRedo()); - dispatch(nglRedoAction(nglViewList)); - }; - - const handleUserKeyPress = useCallback(e => { - var evtobj = window.event ? window.event : e; - if (evtobj.keyCode === 90 && evtobj.ctrlKey) { - doUndo(); - } else if (evtobj.keyCode === 89 && evtobj.ctrlKey) { - doRedo(); - } - }); - - useEffect(() => { - if (isActionTracking === false) { - setUndoTooltip(dispatch(getUndoActionText())); - setRedoTooltip(dispatch(getRedoActionText())); - } - window.addEventListener('keydown', handleUserKeyPress); - - return () => { - window.removeEventListener('keydown', handleUserKeyPress); - }; - }, [handleUserKeyPress, dispatch, isActionTracking]); - return ( <>
@@ -166,38 +77,6 @@ export const ViewerControls = memo(() => {
- - {/* Tooltip should not have disabled element as a direct child */} - <> - - - - - {/* Tooltip should not have disabled element as a direct child */} - <> - - - - - {/* Tooltip should not have disabled element as a direct child */} - <> - - - - - {/* Tooltip should not have disabled element as a direct child */} - <> - - - - - - -
diff --git a/js/components/preview/withLoadingProtein.js b/js/components/preview/withLoadingProtein.js index 0f7300e48..35fd9dd8e 100644 --- a/js/components/preview/withLoadingProtein.js +++ b/js/components/preview/withLoadingProtein.js @@ -17,6 +17,7 @@ export const withLoadingProtein = WrappedComponent => { const routeSnapshotID = match && match.params && match.params.snapshotId; const currentSnapshotID = useSelector(state => state.projectReducers.currentSnapshot.id); const isLoadingCurrentSnapshot = useSelector(state => state.projectReducers.isLoadingCurrentSnapshot); + const targetIdList = useSelector(state => state.apiReducers.target_id_list); useEffect(() => { dispatch( @@ -36,7 +37,8 @@ export const withLoadingProtein = WrappedComponent => { routeProjectID, routeSnapshotID, currentSnapshotID, - isLoadingCurrentSnapshot + isLoadingCurrentSnapshot, + targetIdList ]); return ; diff --git a/js/components/projects/addProjectDetail/index.js b/js/components/projects/addProjectDetail/index.js index 7e438e60e..9df40d368 100644 --- a/js/components/projects/addProjectDetail/index.js +++ b/js/components/projects/addProjectDetail/index.js @@ -20,7 +20,6 @@ import ModalNewProject from '../../common/ModalNewProject'; import moment from 'moment'; import { createNewSnapshot, getListOfSnapshots } from '../../snapshot/redux/dispatchActions'; import { setProjectModalIsLoading } from '../../projects/redux/actions'; -import { manageSendTrackingActions } from '../../../reducers/tracking/dispatchActions'; import { setOpenSnapshotSavingDialog } from '../../snapshot/redux/actions'; import { SnapshotType } from '../redux/constants'; import { NglContext } from '../../nglView/nglProvider'; @@ -148,7 +147,6 @@ export const AddProjectDetail = memo(({}) => { if (createDiscourse) { dispatch(createProjectDiscoursePost(values.title, targetName, values.description, tags)) .then(() => dispatch(createProjectFromSnapshotDialog(data))) - .then(() => dispatch(manageSendTrackingActions(oldProjectID, true))) .then(() => dispatch(createNewSnapshot({ ...snapshotData, createDiscourse: true, session_project: data.projectID })) ) @@ -161,12 +159,10 @@ export const AddProjectDetail = memo(({}) => { } else { dispatch(createProjectFromSnapshotDialog(data)) .then(() => { - dispatch(manageSendTrackingActions(oldProjectID, true)); - // handleCloseModal(); - // dispatch(setOpenSnapshotSavingDialog(true)); + dispatch(createNewSnapshot({ ...snapshotData, session_project: data.projectID })); + handleCloseModal(); }) - .then(() => dispatch(createNewSnapshot({ ...snapshotData, session_project: data.projectID }))) - .then(() => handleCloseModal()) + // .then(() => handleCloseModal()) .catch(error => { setState(() => { throw error; diff --git a/js/components/projects/index.js b/js/components/projects/index.js index 0f8568195..cc9167eaa 100644 --- a/js/components/projects/index.js +++ b/js/components/projects/index.js @@ -92,7 +92,7 @@ const useStyles = makeStyles(theme => ({ } })); -export const Projects = memo(({ }) => { +export const Projects = memo(({}) => { const classes = useStyles(); const dispatch = useDispatch(); const [page, setPage] = React.useState(0); @@ -562,15 +562,6 @@ export const Projects = memo(({ }) => { }} onChange={handleSearch} />, - { - dispatch(setAddButton(true)), dispatch(setProjectModalOpen(true)); - }} - disabled={DJANGO_CONTEXT['username'] === 'NOT_LOGGED_IN'} - > - - , { if (sortDialogOpen === false) { diff --git a/js/components/projects/projectDetailDrawer/index.js b/js/components/projects/projectDetailDrawer/index.js index 0a5accbbf..be7781481 100644 --- a/js/components/projects/projectDetailDrawer/index.js +++ b/js/components/projects/projectDetailDrawer/index.js @@ -79,7 +79,7 @@ export const ProjectDetailDrawer = memo(({ showHistory, setShowHistory }) => { const currentSnapshotList = useSelector(state => state.projectReducers.currentSnapshotList); const currentSnapshotTree = useSelector(state => state.projectReducers.currentSnapshotTree); const isLoadingTree = useSelector(state => state.projectReducers.isLoadingTree); - const currentSnapshotImageList = useSelector(state => state.trackingReducers.snapshotActionImageList); + // const currentSnapshotImageList = useSelector(state => state.trackingReducers.snapshotActionImageList); const handleClickOnCommit = commit => { dispatch(setSelectedSnapshotToSwitch(commit.hash)); @@ -150,18 +150,18 @@ export const ProjectDetailDrawer = memo(({ showHistory, setShowHistory }) => { name: node.title }); - let currentSnapshotImage = currentSnapshotImageList.find(i => i.id === node.id); + let currentSnapshotImage = null; //currentSnapshotImageList.find(i => i.id === node.id); const nodeImages = currentSnapshotImage != null ? [ - { - src: currentSnapshotImage.image, - thumbnail: currentSnapshotImage.image, - thumbnailWidth: 0, - thumbnailHeight: 0, - caption: currentSnapshotImage.title - } - ] + { + src: currentSnapshotImage.image, + thumbnail: currentSnapshotImage.image, + thumbnailWidth: 0, + thumbnailHeight: 0, + caption: currentSnapshotImage.title + } + ] : []; newBranch.commit( @@ -187,18 +187,18 @@ export const ProjectDetailDrawer = memo(({ showHistory, setShowHistory }) => { setShowHistory(false); }; - let image = currentSnapshotTree != null ? currentSnapshotImageList.find(i => i.id === currentSnapshotTree.id) : null; + let image = null; //currentSnapshotTree != null ? currentSnapshotImageList.find(i => i.id === currentSnapshotTree.id) : null; const images = image != null ? [ - { - src: image.image, - thumbnail: image.image, - thumbnailWidth: 0, - thumbnailHeight: 0, - caption: image.title - } - ] + { + src: image.image, + thumbnail: image.image, + thumbnailWidth: 0, + thumbnailHeight: 0, + caption: image.title + } + ] : []; return ( diff --git a/js/components/projects/projectModal/index.js b/js/components/projects/projectModal/index.js index 6d4cb23aa..126b7666d 100644 --- a/js/components/projects/projectModal/index.js +++ b/js/components/projects/projectModal/index.js @@ -209,32 +209,6 @@ export const ProjectModal = memo(({}) => { handleCloseModal(); }); } - - // Create from scratch - if (values.type === ProjectCreationType.NEW) { - dispatch( - createProjectFromScratch({ - ...data, - history - }) - ) - .then(() => { - if (createDiscourse) { - const target = findTargetNameForId(values.targetId); - if (target) { - dispatch(createProjectDiscoursePost(values.title, target.title, values.description, tags)); - } - } - }) - .catch(error => { - setState(() => { - throw error; - }); - }) - .finally(() => { - handleCloseModal(); - }); - } }} > {({ submitForm, isSubmitting, errors, values }) => ( diff --git a/js/components/projects/projectPreview/index.js b/js/components/projects/projectPreview/index.js index bfe1c7064..c9e4a7422 100644 --- a/js/components/projects/projectPreview/index.js +++ b/js/components/projects/projectPreview/index.js @@ -4,11 +4,18 @@ import { useDispatch, useSelector } from 'react-redux'; import { useRouteMatch } from 'react-router-dom'; import { loadCurrentSnapshotByID, loadSnapshotByProjectID } from '../redux/dispatchActions'; import { DJANGO_CONTEXT } from '../../../utils/djangoContext'; -import { restoreCurrentActionsList } from '../../../reducers/tracking/dispatchActions'; -import { setIsSnapshotDirty } from '../../../reducers/tracking/actions'; import { setDownloadStructuresDialogOpen } from '../../snapshot/redux/actions'; import { ToastContext } from '../../toast'; import { LegacySnapshotModal } from '../legacySnapshotModal'; +import { NglContext } from '../../nglView/nglProvider'; +import { VIEWS } from '../../../constants/constants'; +import { getToBeDisplayedStructures, getToBeDisplayedStructuresDataset } from '../../../reducers/ngl/utils'; +import { NGL_OBJECTS } from '../../../reducers/ngl/constants'; +import { + setNglViewFromSnapshotRendered, + setReapplyOrientation, + setSnapshotOrientationApplied +} from '../../../reducers/ngl/actions'; export const ProjectPreview = memo(({}) => { const { toast } = useContext(ToastContext); @@ -21,18 +28,89 @@ export const ProjectPreview = memo(({}) => { const snapshotId = match && match.params && match.params.snapshotId; const currentSnapshotID = useSelector(state => state.projectReducers.currentSnapshot.id); const currentSessionProject = useSelector(state => state.projectReducers.currentProject); - const isActionRestoring = useSelector(state => state.trackingReducers.isActionRestoring); - const isActionRestored = useSelector(state => state.trackingReducers.isActionRestored); + const isActionRestoring = false; //useSelector(state => state.trackingReducers.isActionRestoring); + const isActionRestored = true; //useSelector(state => state.trackingReducers.isActionRestored); + + const toBeDisplayedListLHS = useSelector(state => state.selectionReducers.toBeDisplayedList); + const toBeDisplayedListRHS = useSelector(state => state.datasetsReducers.toBeDisplayedList); + const displayedLigandsLHS = useSelector(state => state.selectionReducers.fragmentDisplayList); + const displayedLigandsRHS = useSelector(state => state.datasetsReducers.ligandLists); + const isNglViewFromSnapshotRendered = useSelector(state => state.nglReducers.nglViewFromSnapshotRendered); + + const snapshotNglOrientation = useSelector(state => { + let result = null; + if (state.nglReducers.snapshotNglOrientation) { + if (state.nglReducers.snapshotNglOrientation[VIEWS.MAJOR_VIEW]) { + result = state.nglReducers.snapshotNglOrientation[VIEWS.MAJOR_VIEW]; + } + } + return result; + }); + + const reapplyOrientation = useSelector(state => state.nglReducers.reapplyOrientation); const [showLegacySnapshotModal, setShowLegacySnapshotModal] = useState(false); + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + useEffect(() => { + if ( + (isNglViewFromSnapshotRendered && stage && snapshotNglOrientation && snapshotNglOrientation?.elements) || + reapplyOrientation + ) { + try { + stage.viewerControls.orient(snapshotNglOrientation.elements); + dispatch(setSnapshotOrientationApplied(true)); + if (reapplyOrientation) { + dispatch(setReapplyOrientation(false)); + } + } catch (e) { + console.error(e); + } + } + }, [stage, snapshotNglOrientation, isNglViewFromSnapshotRendered, dispatch, reapplyOrientation]); + + useEffect(() => { + if (!isNglViewFromSnapshotRendered) { + let notYetDisplayedFound = false; + + const toBeDisplayedLigandsLHS = getToBeDisplayedStructures( + toBeDisplayedListLHS, + displayedLigandsLHS, + NGL_OBJECTS.LIGAND + ); + notYetDisplayedFound = toBeDisplayedLigandsLHS?.length > 0; + + if (!notYetDisplayedFound) { + const toBeDisplayedLigandsRHS = getToBeDisplayedStructuresDataset( + toBeDisplayedListRHS, + displayedLigandsRHS, + NGL_OBJECTS.LIGAND + ); + notYetDisplayedFound = toBeDisplayedLigandsRHS?.length > 0; + } + + if (!notYetDisplayedFound) { + dispatch(setNglViewFromSnapshotRendered(true)); + } + } + }, [ + toBeDisplayedListLHS, + displayedLigandsLHS, + displayedLigandsRHS, + dispatch, + isNglViewFromSnapshotRendered, + toBeDisplayedListRHS + ]); + useEffect(() => { if (!snapshotId && currentSnapshotID === null) { dispatch(loadSnapshotByProjectID(projectId)) .then(response => { if (response !== false) { isSnapshotLoaded.current = response; - dispatch(setIsSnapshotDirty(false)); + // dispatch(setIsSnapshotDirty(false)); setCanShow(true); } }) @@ -48,7 +126,7 @@ export const ProjectPreview = memo(({}) => { if (response) { if (response.session_project && `${response.session_project.id}` === projectId) { isSnapshotLoaded.current = response.id; - dispatch(setIsSnapshotDirty(false)); + // dispatch(setIsSnapshotDirty(false)); setCanShow(true); } else { setCanShow(false); @@ -73,11 +151,8 @@ export const ProjectPreview = memo(({}) => { }); } else { if (isActionRestoring === false && isActionRestored === false) { - let snapshotID = currentSnapshotID; isSnapshotLoaded.current = currentSnapshotID; setCanShow(true); - - dispatch(restoreCurrentActionsList(snapshotID)); } } } diff --git a/js/components/projects/redux/actions.js b/js/components/projects/redux/actions.js index d4837292e..843b50c5b 100644 --- a/js/components/projects/redux/actions.js +++ b/js/components/projects/redux/actions.js @@ -87,10 +87,9 @@ export const setIsLoadingTree = isLoading => ({ payload: isLoading }); -export const setCurrentSnapshotTree = tree => ({ - type: constants.SET_CURRENT_SNAPSHOT_TREE, - payload: tree -}); +export const setCurrentSnapshotTree = tree => { + return { type: constants.SET_CURRENT_SNAPSHOT_TREE, payload: tree }; +}; export const setCurrentSnapshotList = list => ({ type: constants.SET_CURRENT_SNAPSHOT_LIST, diff --git a/js/components/projects/redux/dispatchActions.js b/js/components/projects/redux/dispatchActions.js index cecc71a82..d9f28d143 100644 --- a/js/components/projects/redux/dispatchActions.js +++ b/js/components/projects/redux/dispatchActions.js @@ -12,9 +12,7 @@ import { setForceCreateProject, setForceProjectCreated, setIsLoadingListOfProjects, - setCurrentProjectDiscourseLink, - setJobLauncherSquonkUrl, - setJobList + setCurrentProjectDiscourseLink } from './actions'; import { api, METHOD } from '../../../utils/api'; import { base_url, URLS } from '../../routes/constants'; @@ -22,14 +20,15 @@ import { setDialogCurrentStep } from '../../snapshot/redux/actions'; import { createInitSnapshotFromCopy, getListOfSnapshots } from '../../snapshot/redux/dispatchActions'; import { SnapshotType } from './constants'; import { DJANGO_CONTEXT } from '../../../utils/djangoContext'; -import { sendInitTrackingActionByProjectId } from '../../../reducers/tracking/dispatchActions'; -import { resetTrackingState, setIsSnapshotDirty } from '../../../reducers/tracking/actions'; import { createProjectPost } from '../../../utils/discourse'; import { setIsSnapshot, setOpenDiscourseErrorModal } from '../../../reducers/api/actions'; import moment from 'moment'; -import { resetNglTrackingState } from '../../../reducers/nglTracking/dispatchActions'; import _ from 'lodash'; +import { setEntireState } from '../../../reducers/actions'; +import { loadTargetList } from '../../target/redux/dispatchActions'; +import { setOrientation } from '../../../reducers/ngl/dispatchActions'; +import { deepClone } from '../../../utils/objectUtils'; export const assignSnapshotToProject = ({ projectID, snapshotID, ...rest }) => (dispatch, getState) => { dispatch(resetCurrentSnapshot()); @@ -137,41 +136,54 @@ export const removeProject = projectID => dispatch => { }); }; -export const loadSnapshotByProjectID = projectID => (dispatch, getState) => { +export const loadSnapshotByProjectID = projectID => async (dispatch, getState) => { const state = getState(); const isLoadingCurrentSnapshot = state.projectReducers.isLoadingCurrentSnapshot; if (isLoadingCurrentSnapshot === false) { dispatch(setIsLoadingCurrentSnapshot(true)); dispatch(setIsSnapshot(true)); - return api({ url: `${base_url}/api/snapshots/?session_project=${projectID}&type=INIT` }) - .then(response => { - if (response.data.results.length === 0) { + return api({ url: `${base_url}/api/session-projects/${projectID}/` }).then(projectResponse => { + return api({ url: `${base_url}/api/snapshots/?session_project=${projectID}&type=INIT` }) + .then(response => { + if (response.data.results.length === 0) { + dispatch(resetCurrentSnapshot()); + return Promise.resolve(null); + } else if (response.data.results[0] !== undefined) { + console.log(`Snapshot from server: ${JSON.stringify(response.data.results[0])}`); + dispatch(setEntireState(response.data.results[0].additional_info.snapshotState)); + dispatch( + setCurrentSnapshot({ + id: response.data.results[0].id, + type: response.data.results[0].type, + title: response.data.results[0].title, + author: response.data.results[0].author, + description: response.data.results[0].description, + created: response.data.results[0].created, + children: response.data.results[0].children, + parent: response.data.results[0].parent, + data: response.data.results[0].data + }) + ); + dispatch( + setCurrentProject({ + projectID: projectResponse.data.id, + authorID: projectResponse.data.author || null, + title: projectResponse.data.title, + description: projectResponse.data.description, + targetID: projectResponse.data.target.id, + tags: JSON.parse(projectResponse.data.tags) + }) + ); + return Promise.resolve(response.data.results[0].id); + } + }) + .catch(error => { dispatch(resetCurrentSnapshot()); - return Promise.resolve(null); - } else if (response.data.results[0] !== undefined) { - console.log(`Snapshot from server: ${JSON.stringify(response.data.results[0])}`); - dispatch( - setCurrentSnapshot({ - id: response.data.results[0].id, - type: response.data.results[0].type, - title: response.data.results[0].title, - author: response.data.results[0].author, - description: response.data.results[0].description, - created: response.data.results[0].created, - children: response.data.results[0].children, - parent: response.data.results[0].parent, - data: response.data.results[0].data - }) - ); - return Promise.resolve(response.data.results[0].id); - } - }) - .catch(error => { - dispatch(resetCurrentSnapshot()); - }) - .finally(() => { - dispatch(setIsLoadingCurrentSnapshot(false)); - }); + }) + .finally(() => { + dispatch(setIsLoadingCurrentSnapshot(false)); + }); + }); } return Promise.resolve(false); }; @@ -188,6 +200,7 @@ export const loadCurrentSnapshotByID = snapshotID => (dispatch, getState) => { dispatch(resetCurrentSnapshot()); return Promise.resolve(null); } else { + dispatch(setEntireState(response.data.additional_info.snapshotState)); dispatch( setCurrentSnapshot({ id: response.data.id, @@ -201,6 +214,17 @@ export const loadCurrentSnapshotByID = snapshotID => (dispatch, getState) => { data: response.data.data }) ); + dispatch( + setCurrentProject({ + projectID: response.data.session_project.id, + authorID: response.data.session_project.author || null, + title: response.data.session_project.title, + description: response.data.session_project.description, + targetID: response.data.session_project.target.id, + tags: JSON.parse(response.data.session_project.tags) + }) + ); + // dispatch(loadTargetListPostStateRestore()); return Promise.resolve(response.data); } }) @@ -214,6 +238,13 @@ export const loadCurrentSnapshotByID = snapshotID => (dispatch, getState) => { return Promise.resolve(false); }; +const loadTargetListPostStateRestore = () => (dispatch, getState) => { + let onCancel = () => {}; + dispatch(loadTargetList(onCancel)).catch(error => { + throw new Error(error); + }); +}; + const parseSnapshotAttributes = data => ({ id: data.id, type: data.type, @@ -226,23 +257,27 @@ const parseSnapshotAttributes = data => ({ }); export const getSnapshotAttributesByID = snapshotID => (dispatch, getState) => { - return api({ url: `${base_url}/api/snapshots/${snapshotID}` }).then(async response => { - if (response.data && response.data.id !== undefined) { - let currentSnapshotList = JSON.parse(JSON.stringify(getState().projectReducers.currentSnapshotList)); - if (currentSnapshotList === null) { - currentSnapshotList = {}; - } - const snapshot = parseSnapshotAttributes(response.data); - currentSnapshotList[snapshotID] = snapshot; - dispatch(setCurrentSnapshotList(currentSnapshotList)); + return api({ url: `${base_url}/api/snapshots/${snapshotID}` }) + .then(async response => { + if (response.data && response.data.id !== undefined) { + let currentSnapshotList = JSON.parse(JSON.stringify(getState().projectReducers.currentSnapshotList)); + if (currentSnapshotList === null) { + currentSnapshotList = {}; + } + const snapshot = parseSnapshotAttributes(response.data); + currentSnapshotList[snapshotID] = snapshot; + dispatch(setCurrentSnapshotList(currentSnapshotList)); - if (response.data.children && response.data.children.length > 0) { - return dispatch(populateChildren(response.data.children)); - } else { - return Promise.resolve(snapshot); + if (response.data.children && response.data.children.length > 0) { + return dispatch(populateChildren(response.data.children)); + } else { + return Promise.resolve(snapshot); + } } - } - }); + }) + .catch(error => { + console.log(error); + }); }; const populateChildren = (children = []) => (dispatch, getState) => { @@ -256,9 +291,7 @@ export const loadSnapshotTree = projectID => (dispatch, getState) => { dispatch(setCurrentSnapshotTree(null)); return api({ url: `${base_url}/api/snapshots/?session_project=${projectID}&type=INIT` }) .then(response => { - if (response.data.count === 0) { - return Promise.reject('Not found INITIAL snapshot'); - } else if (response.data.count === 1) { + if (response.data.count > 0) { const tree = parseSnapshotAttributes(response.data.results[0]); dispatch(setCurrentSnapshotTree(tree)); return dispatch(populateChildren([tree.id])); @@ -266,7 +299,7 @@ export const loadSnapshotTree = projectID => (dispatch, getState) => { }) .finally(() => { dispatch(setIsLoadingTree(false)); - dispatch(setIsSnapshotDirty(false)); + // dispatch(setIsSnapshotDirty(false)); }); }; @@ -346,8 +379,8 @@ export const createProjectFromSnapshot = ({ title, description, author, tags, hi const snapshotData = JSON.parse(selectedSnapshot && selectedSnapshot.data); dispatch(setProjectModalIsLoading(true)); - dispatch(resetTrackingState()); - dispatch(resetNglTrackingState()); + // dispatch(resetTrackingState()); + // dispatch(resetNglTrackingState()); return dispatch( createProject({ title, @@ -389,90 +422,11 @@ export const createProjectFromSnapshot = ({ title, description, author, tags, hi }); }; -export const createProjectFromScratch = ({ title, description, target, author, tags, history, project }) => ( - dispatch, - getState -) => { - dispatch(setProjectModalIsLoading(true)); - dispatch(resetTrackingState()); - dispatch(resetNglTrackingState()); - return api({ - url: `${base_url}/api/session-projects/`, - method: METHOD.POST, - data: { title, description, target, author, tags, project } - }) - .then(response => { - const projectID = response.data.id; - const title = response.data.title; - const authorID = response.data.author; - const description = response.data.description; - const targetID = response.data.target; - const tags = response.data.tags; - - dispatch(setCurrentProject({ projectID, authorID, title, description, targetID, tags })); - - let promises = []; - promises.push(dispatch(createInitSnapshotToProjectWitActions(projectID, authorID, null, targetID))); - - Promise.all(promises).then(() => { - // create project_target relationShip on BE - history.push(`${URLS.projects}${projectID}`); - }); - }) - .finally(() => { - dispatch(setProjectModalIsLoading(false)); - }); -}; - export const createProjectWithoutStateModification = data => async () => { const response = await api({ url: `${base_url}/api/session-projects/`, method: METHOD.POST, data }); return response.data.id; }; -export const createInitSnapshotToProjectWitActions = (session_project, author, parent, target) => ( - dispatch, - getState -) => { - let type = SnapshotType.INIT; - const created = moment(); - const title = 'Initial Snapshot'; - const description = 'Auto generated initial snapshot'; - - return Promise.all([ - api({ url: `${base_url}/api/snapshots/?session_project=${session_project}&type=INIT` }).then(response => { - return api({ - url: `${base_url}/api/snapshots/`, - data: { - title, - description, - type: type, - author, - parent, - session_project, - data: '[]', - children: [] - }, - method: METHOD.POST - }).then(res => { - dispatch( - setCurrentSnapshot({ - id: res.data.id, - type, - title, - author, - description, - created, - parent, - children: res.data.children, - data: '[]' - }) - ); - dispatch(sendInitTrackingActionByProjectId(target)); - }); - }) - ]); -}; - export const jobFileTransfer = data => { return api({ url: `${base_url}/api/job_file_transfer/`, diff --git a/js/components/snapshot/modals/newSnapshotForm.js b/js/components/snapshot/modals/newSnapshotForm.js index 84a143aa4..dac404b80 100644 --- a/js/components/snapshot/modals/newSnapshotForm.js +++ b/js/components/snapshot/modals/newSnapshotForm.js @@ -15,7 +15,6 @@ import { RegisterNotice } from '../../discourse/RegisterNotice'; import moment from 'moment'; import { VIEWS } from '../../../constants/constants'; -import { setIsSnapshotDirty } from '../../../reducers/tracking/actions'; const useStyles = makeStyles(theme => ({ body: { @@ -110,7 +109,7 @@ export const NewSnapshotForm = memo(({ handleCloseModal }) => { }) ) .then(() => { - dispatch(setIsSnapshotDirty(false)); + // dispatch(setIsSnapshotDirty(false)); }) .catch(error => { setState(() => { diff --git a/js/components/snapshot/modals/saveSnapshotBeforeExit.js b/js/components/snapshot/modals/saveSnapshotBeforeExit.js index 729a4395c..e950c6beb 100644 --- a/js/components/snapshot/modals/saveSnapshotBeforeExit.js +++ b/js/components/snapshot/modals/saveSnapshotBeforeExit.js @@ -6,7 +6,6 @@ import { useDispatch, useSelector } from 'react-redux'; import { NglContext } from '../../nglView/nglProvider'; import { useRouteMatch } from 'react-router-dom'; import { setIsOpenModalBeforeExit, setOpenSnapshotSavingDialog, setSelectedSnapshotToSwitch } from '../redux/actions'; -import { changeSnapshot } from '../../../reducers/tracking/dispatchActionsSwitchSnapshot'; import { VIEWS } from '../../../constants/constants'; export const SaveSnapshotBeforeExit = memo(() => { @@ -28,7 +27,7 @@ export const SaveSnapshotBeforeExit = memo(() => { const handleOnNo = async () => { const projectID = paramsProjectID && paramsProjectID != null ? paramsProjectID : currentProjectID; dispatch(setIsOpenModalBeforeExit(false)); - await dispatch(changeSnapshot(projectID, snapshotID, nglViewList, stage)); + // await dispatch(changeSnapshot(projectID, snapshotID, nglViewList, stage)); dispatch(setSelectedSnapshotToSwitch(null)); dispatch(setIsOpenModalBeforeExit(false)); diff --git a/js/components/snapshot/redux/actions.js b/js/components/snapshot/redux/actions.js index af1c20deb..1311adde6 100644 --- a/js/components/snapshot/redux/actions.js +++ b/js/components/snapshot/redux/actions.js @@ -1,7 +1,7 @@ import { constants } from './constants'; import { initSharedSnapshot } from './reducer'; -export const setOpenSnapshotSavingDialog = (isOpen) => ({ +export const setOpenSnapshotSavingDialog = isOpen => ({ type: constants.SET_OPEN_SAVING_DIALOG, payload: isOpen }); @@ -60,3 +60,18 @@ export const setDownloadStructuresDialogOpen = show => ({ type: constants.SET_DOWNLOAD_STRUCTURES_DIALOG_OPEN, payload: show }); + +export const setSnapshotIsDirty = isDirty => ({ + type: constants.SET_SNAPSHOT_IS_DIRTY, + payload: isDirty +}); + +export const setSnapshotEditDialogOpen = isOpen => ({ + type: constants.SET_SNAPSHOT_EDIT_DIALOG_OPEN, + payload: isOpen +}); + +export const setSnapshotToBeEdited = snapshot => ({ + type: constants.SET_SNAPSHOT_TO_BE_EDITED, + payload: snapshot +}); diff --git a/js/components/snapshot/redux/constants.js b/js/components/snapshot/redux/constants.js index 7a80adfb5..39f024112 100644 --- a/js/components/snapshot/redux/constants.js +++ b/js/components/snapshot/redux/constants.js @@ -21,5 +21,10 @@ export const constants = { SET_SNAPSHOT_JUST_SAVED: prefix + 'SET_SNAPSHOT_JUST_SAVED', SET_DONT_SHOW_SHARE_SNAPSHOT: prefix + 'SET_DONT_SHOW_SHARE_SNAPSHOT', - SET_DOWNLOAD_STRUCTURES_DIALOG_OPEN: prefix + 'SET_DOWNLOAD_STRUCTURES_DIALOG_OPEN' + SET_DOWNLOAD_STRUCTURES_DIALOG_OPEN: prefix + 'SET_DOWNLOAD_STRUCTURES_DIALOG_OPEN', + + SET_SNAPSHOT_IS_DIRTY: prefix + 'SET_SNAPSHOT_IS_DIRTY', + + SET_SNAPSHOT_EDIT_DIALOG_OPEN: prefix + 'SET_SNAPSHOT_EDIT_DIALOG_OPEN', + SET_SNAPSHOT_TO_BE_EDITED: prefix + 'SET_SNAPSHOT_TO_BE_EDITED' }; diff --git a/js/components/snapshot/redux/dispatchActions.js b/js/components/snapshot/redux/dispatchActions.js index f8264285f..b2ee8a807 100644 --- a/js/components/snapshot/redux/dispatchActions.js +++ b/js/components/snapshot/redux/dispatchActions.js @@ -1,5 +1,14 @@ -import { reloadApiState, setSessionTitle } from '../../../reducers/api/actions'; -import { reloadSelectionReducer } from '../../../reducers/selection/actions'; +import { + reloadApiState, + setIsSnapshot, + setSessionTitle, + setSnapshotLoadingInProgress +} from '../../../reducers/api/actions'; +import { + reloadSelectionReducer, + setToBeDisplayedList, + updateInToBeDisplayedList +} from '../../../reducers/selection/actions'; import { api, METHOD } from '../../../utils/api'; import { setDisableRedirect, @@ -21,7 +30,7 @@ import { import { reloadPreviewReducer } from '../../preview/redux/dispatchActions'; import { ProjectCreationType, SnapshotType } from '../../projects/redux/constants'; import moment from 'moment'; -import { setProteinLoadingState } from '../../../reducers/ngl/actions'; +import { setProteinLoadingState, setReapplyOrientation } from '../../../reducers/ngl/actions'; import { reloadNglViewFromSnapshot } from '../../../reducers/ngl/dispatchActions'; import { base_url, URLS } from '../../routes/constants'; import { @@ -31,17 +40,30 @@ import { setForceProjectCreated } from '../../projects/redux/actions'; import { selectFirstMolGroup } from '../../preview/moleculeGroups/redux/dispatchActions'; -import { reloadDatasetsReducer } from '../../datasets/redux/actions'; import { - saveCurrentActionsList, - addCurrentActionsListToSnapshot, - sendTrackingActionsByProjectId, - manageSendTrackingActions -} from '../../../reducers/tracking/dispatchActions'; -import { changeSnapshot } from '../../../reducers/tracking/dispatchActionsSwitchSnapshot'; + reloadDatasetsReducer, + setToBeDisplayedListForDataset, + setToBeDisplayedLists, + updateInToBeDisplayedListForDataset +} from '../../datasets/redux/actions'; import { captureScreenOfSnapshot } from '../../userFeedback/browserApi'; import { setCurrentProject } from '../../projects/redux/actions'; import { createProjectPost } from '../../../utils/discourse'; +import { + deepClone, + deepEqual, + deepMergeWithPriority, + deepMergeWithPriorityAndBlackList, + deepMergeWithPriorityAndWhiteList +} from '../../../utils/objectUtils'; +import { + SNAPSHOT_VALUES_NOT_TO_BE_DELETED_SWITCHING_TARGETS, + SNAPSHOT_VALUES_TO_BE_DELETED, + SNAPSHOT_VALUES_TO_BE_DELETED_SWITCHING_SNAPSHOTS +} from './utilitySnapshotShapes'; +import { setEntireState } from '../../../reducers/actions'; +import { VIEWS } from '../../../constants/constants'; +// import { display } from 'html2canvas/dist/types/css/property-descriptors/display'; export const getListOfSnapshots = () => (dispatch, getState) => { const userID = DJANGO_CONTEXT['pk'] || null; @@ -193,7 +215,7 @@ export const createInitSnapshotFromCopy = ({ return Promise.reject('ProjectID is missing'); }; -const getAdditionalInfo = state => { +const getAdditionalInfo = (state, snapshotState = null) => { const allMolecules = state.apiReducers.all_mol_lists; const { moleculesToEdit, fragmentDisplayList } = state.selectionReducers; const currentSnapshotSelectedCompounds = allMolecules @@ -221,7 +243,8 @@ const getAdditionalInfo = state => { currentSnapshotSelectedCompounds, currentSnapshotVisibleCompounds, currentSnapshotSelectedDatasetsCompounds, - currentSnapshotVisibleDatasetsCompounds + currentSnapshotVisibleDatasetsCompounds, + snapshotState }; }; @@ -238,6 +261,7 @@ export const createNewSnapshot = ({ createDiscourse = false }) => async (dispatch, getState) => { const state = getState(); + const snapshotData = dispatch(getCleanStateForSnapshot()); const selectedSnapshotToSwitch = state.snapshotReducers.selectedSnapshotToSwitch; const disableRedirect = state.snapshotReducers.disableRedirect; const currentSnapshot = state.projectReducers.currentSnapshot; @@ -262,148 +286,147 @@ export const createNewSnapshot = ({ session_project, children: currentSnapshot.children, data: '[]', - additional_info: getAdditionalInfo(state) + additional_info: getAdditionalInfo(state, snapshotData) }, method: METHOD.PUT }); - return Promise.resolve(dispatch(addCurrentActionsListToSnapshot(currentSnapshot, project, nglViewList))).then( - () => { - if (disableRedirect === false && selectedSnapshotToSwitch != null) { - window.location.replace(`${URLS.projects}${session_project}/${selectedSnapshotToSwitch}`); - } else { - dispatch(setIsLoadingSnapshotDialog(false)); - dispatch(setOpenSnapshotSavingDialog(false)); - } + // return Promise.resolve(dispatch(addCurrentActionsListToSnapshot(currentSnapshot, project, nglViewList))).then( + return new Promise(resolve => { + if (disableRedirect === false && selectedSnapshotToSwitch != null) { + window.location.replace(`${URLS.projects}${session_project}/${selectedSnapshotToSwitch}`); + } else { + dispatch(setIsLoadingSnapshotDialog(false)); + dispatch(setOpenSnapshotSavingDialog(false)); } - ); + }); } else { let newType = type; - return Promise.all([ - dispatch(setIsLoadingSnapshotDialog(true)), - api({ url: `${base_url}/api/snapshots/?session_project=${session_project}&type=INIT` }).then(response => { - if (response.data.count === 0) { - newType = SnapshotType.INIT; - // Without this, the snapshot tree wouldnt work - dispatch(setForceProjectCreated(false)); - } + // return Promise.all([ + dispatch(setIsLoadingSnapshotDialog(true)); //, + return api({ url: `${base_url}/api/snapshots/?session_project=${session_project}&type=INIT` }).then(response => { + if (response.data.count === 0) { + newType = SnapshotType.INIT; + // Without this, the snapshot tree wouldnt work + dispatch(setForceProjectCreated(false)); + //if it's INIT snapshot than it's a root snapshot of a project so parent MUST be null + parent = null; + } - return api({ - url: `${base_url}/api/snapshots/`, - data: { - title, - description, - type: newType, - author, - parent, - session_project, - data: '[]', - children: [], - additional_info: getAdditionalInfo(state) - }, - method: METHOD.POST - }).then(res => { - // redirect to project with newest created snapshot /:projectID/:snapshotID - if (res.data.id && session_project) { - let snapshot = { id: res.data.id, title: title }; - let project = { projectID: session_project, authorID: author }; - console.log('created snapshot id: ' + res.data.id); - - return Promise.resolve(dispatch(saveCurrentActionsList(snapshot, project, nglViewList, false))).then( - async () => { - if (disableRedirect === false) { - if (selectedSnapshotToSwitch != null) { - if (createDiscourse) { - dispatch(createSnapshotDiscoursePost(res.data.id)); - } - //window.location.replace(`${URLS.projects}${session_project}/${selectedSnapshotToSwitch}`); - await dispatch(changeSnapshot(session_project, selectedSnapshotToSwitch, nglViewList, stage)); - dispatch(setOpenSnapshotSavingDialog(false)); - dispatch(setIsLoadingSnapshotDialog(false)); - } else { - // A hacky way of changing the URL without triggering react-router - window.history.replaceState( - null, - null, - `${URLS.projects}${session_project}/${ - selectedSnapshotToSwitch === null ? res.data.id : selectedSnapshotToSwitch - }` - ); - api({ url: `${base_url}/api/session-projects/${session_project}/` }) - .then(async projectResponse => { - const response = await api({ - url: `${base_url}/api/snapshots/?session_project=${session_project}` - }); - - const length = response.data.results.length; - if (length === 0) { - dispatch(resetCurrentSnapshot()); - } else { - const createdSnapshot = - response.data.results && response.data.results.find(r => r.id === res.data.id); - console.log('new snapshot id: ' + JSON.stringify(createdSnapshot?.id)); - - if (createdSnapshot !== undefined && createdSnapshot !== null) { - // If the tree fails to load, bail out first without modifying the store - await dispatch(loadSnapshotTree(projectResponse.data.id)); - await dispatch( - setCurrentSnapshot({ - id: createdSnapshot.id, - type: createdSnapshot.type, - title: createdSnapshot.title, - author: createdSnapshot.author, - description: createdSnapshot.description, - created: createdSnapshot.created, - children: createdSnapshot.children, - parent: createdSnapshot.parent, - data: '[]' - }) - ); - await dispatch( - setCurrentProject({ - projectID: projectResponse.data.id, - authorID: projectResponse.data.author || null, - title: projectResponse.data.title, - description: projectResponse.data.description, - targetID: projectResponse.data.target.id, - tags: JSON.parse(projectResponse.data.tags) - }) - ); - if (createDiscourse) { - dispatch(createSnapshotDiscoursePost()); - } - dispatch(setOpenSnapshotSavingDialog(false)); - dispatch(setIsLoadingSnapshotDialog(false)); - dispatch(setSnapshotJustSaved(projectResponse.data.id)); - dispatch(setDialogCurrentStep()); - } + return api({ + url: `${base_url}/api/snapshots/`, + data: { + title, + description, + type: newType, + author, + parent, + session_project, + data: '[]', + children: [], + additional_info: getAdditionalInfo(state, snapshotData) + }, + method: METHOD.POST + }).then(res => { + // redirect to project with newest created snapshot /:projectID/:snapshotID + if (res.data.id && session_project) { + console.log('created snapshot id: ' + res.data.id); + + // return Promise.resolve(dispatch(saveCurrentActionsList(snapshot, project, nglViewList, false))).then( + return new Promise(resolve => { + if (disableRedirect === false) { + if (selectedSnapshotToSwitch != null) { + if (createDiscourse) { + dispatch(createSnapshotDiscoursePost(res.data.id)); + } + //window.location.replace(`${URLS.projects}${session_project}/${selectedSnapshotToSwitch}`); + // await dispatch(changeSnapshot(session_project, selectedSnapshotToSwitch, nglViewList, stage)); + dispatch(setOpenSnapshotSavingDialog(false)); + dispatch(setIsLoadingSnapshotDialog(false)); + } else { + // A hacky way of changing the URL without triggering react-router + window.history.replaceState( + null, + null, + `${URLS.projects}${session_project}/${ + selectedSnapshotToSwitch === null ? res.data.id : selectedSnapshotToSwitch + }` + ); + api({ url: `${base_url}/api/session-projects/${session_project}/` }) + .then(async projectResponse => { + const response = await api({ + url: `${base_url}/api/snapshots/?session_project=${session_project}` + }); + + const length = response.data.results.length; + if (length === 0) { + dispatch(resetCurrentSnapshot()); + } else { + const createdSnapshot = + response.data.results && response.data.results.find(r => r.id === res.data.id); + console.log('new snapshot id: ' + JSON.stringify(createdSnapshot?.id)); + + if (createdSnapshot !== undefined && createdSnapshot !== null) { + // If the tree fails to load, bail out first without modifying the store + await dispatch(loadSnapshotTree(projectResponse.data.id)); + await dispatch( + setCurrentSnapshot({ + id: createdSnapshot.id, + type: createdSnapshot.type, + title: createdSnapshot.title, + author: createdSnapshot.author, + description: createdSnapshot.description, + created: createdSnapshot.created, + children: createdSnapshot.children, + parent: createdSnapshot.parent, + data: '[]' + }) + ); + await dispatch( + setCurrentProject({ + projectID: projectResponse.data.id, + authorID: projectResponse.data.author || null, + title: projectResponse.data.title, + description: projectResponse.data.description, + targetID: projectResponse.data.target.id, + tags: JSON.parse(projectResponse.data.tags) + }) + ); + if (createDiscourse) { + dispatch(createSnapshotDiscoursePost()); } - }) - .catch(error => { - dispatch(resetCurrentSnapshot()); + dispatch(setOpenSnapshotSavingDialog(false)); dispatch(setIsLoadingSnapshotDialog(false)); - console.log(`Error while saving snapshot: ${error}`); - }); - } - } else { - dispatch(setOpenSnapshotSavingDialog(false)); - dispatch(setIsLoadingSnapshotDialog(false)); - dispatch( - setSharedSnapshot({ - title, - description, - url: `${base_url}${URLS.projects}${session_project}/${res.data.id}` - }) - ); - return res.data.id; - } + dispatch(setSnapshotJustSaved(projectResponse.data.id)); + dispatch(setDialogCurrentStep()); + dispatch(setReapplyOrientation(true)); + } + } + }) + .catch(error => { + dispatch(resetCurrentSnapshot()); + dispatch(setIsLoadingSnapshotDialog(false)); + console.log(`Error while saving snapshot: ${error}`); + }); } - ); - } - }); - }) - ]); + } else { + dispatch(setOpenSnapshotSavingDialog(false)); + dispatch(setIsLoadingSnapshotDialog(false)); + dispatch( + setSharedSnapshot({ + title, + description, + url: `${base_url}${URLS.projects}${session_project}/${res.data.id}` + }) + ); + return resolve(res.data.id); + } + }); + } + }); + }); + // ]); } }; @@ -428,7 +451,6 @@ export const activateSnapshotDialog = (loggedInUserID = undefined, finallyShareS const currentProject = state.targetReducers.currentProject; dispatch(captureScreenOfSnapshot()); - dispatch(manageSendTrackingActions()); dispatch(setDisableRedirect(finallyShareSnapshot)); if (!loggedInUserID && targetId) { @@ -440,13 +462,9 @@ export const activateSnapshotDialog = (loggedInUserID = undefined, finallyShareS tags: '[]', project: currentProject.id }; - dispatch(createProjectFromSnapshotDialog(data)) - .then(() => { - dispatch(manageSendTrackingActions(sessionProjectID, true)); - }) - .catch(error => { - throw new Error(error); - }); + dispatch(createProjectFromSnapshotDialog(data)).catch(error => { + throw new Error(error); + }); } else if ( finallyShareSnapshot === true && loggedInUserID && @@ -507,16 +525,13 @@ export const createNewSnapshotWithoutStateModification = ({ disableRedirect: true }) ); - - let snapshot = { id: res.data.id, title: title }; - let project = { projectID: session_project, authorID: author }; - dispatch(saveCurrentActionsList(snapshot, project, nglViewList, true, true)); } }); }); }; export const saveAndShareSnapshot = (nglViewList, showDialog = true, axuData = {}) => async (dispatch, getState) => { + const snapshotData = dispatch(getCleanStateForSnapshot()); const state = getState(); const targetId = state.apiReducers.target_on; const loggedInUserID = DJANGO_CONTEXT['pk']; @@ -545,7 +560,7 @@ export const saveAndShareSnapshot = (nglViewList, showDialog = true, axuData = { dispatch(setIsLoadingSnapshotDialog(true)); } - const additional_info = getAdditionalInfo(state); + const additional_info = getAdditionalInfo(state, snapshotData); const data = { title: ProjectCreationType.READ_ONLY, @@ -568,8 +583,6 @@ export const saveAndShareSnapshot = (nglViewList, showDialog = true, axuData = { const parent = null; const session_project = projectID; - await dispatch(sendTrackingActionsByProjectId(projectID, author, true)); - await dispatch( createNewSnapshotWithoutStateModification({ title, @@ -596,3 +609,148 @@ export const saveAndShareSnapshot = (nglViewList, showDialog = true, axuData = { } } }; + +export const getCleanStateForSnapshot = () => (dispatch, getState) => { + const state = getState(); + + let snapshotData = {}; + + let notToBeCopiedClone = deepClone(SNAPSHOT_VALUES_NOT_TO_BE_DELETED_SWITCHING_TARGETS); + delete notToBeCopiedClone.apiReducers.target_id_list; + + snapshotData = deepMergeWithPriorityAndBlackList({}, state, notToBeCopiedClone); + snapshotData = deepClone(snapshotData); + snapshotData = deepMergeWithPriority({ ...snapshotData }, notToBeCopiedClone); + snapshotData = deepMergeWithPriority({ ...snapshotData }, SNAPSHOT_VALUES_TO_BE_DELETED); + snapshotData.nglReducers.snapshotNglOrientation = { ...snapshotData.nglReducers.nglOrientations }; + + return snapshotData; +}; + +export const changeSnapshot = (projectID, snapshotID, stage) => async (dispatch, getState) => { + dispatch(setSnapshotLoadingInProgress(true)); + dispatch(setIsSnapshot(true)); + // A hacky way of changing the URL without triggering react-router + window.history.replaceState(null, null, `${URLS.projects}${projectID}/${snapshotID}`); + + // Load the needed data + const snapshotResponse = await api({ url: `${base_url}/api/snapshots/${snapshotID}` }); + + const snapshotState = snapshotResponse.data.additional_info.snapshotState; + + dispatch( + setCurrentSnapshot({ + id: snapshotResponse.data.id, + type: snapshotResponse.data.type, + title: snapshotResponse.data.title, + author: snapshotResponse.data.author, + description: snapshotResponse.data.description, + created: snapshotResponse.data.created, + children: snapshotResponse.data.children, + parent: snapshotResponse.data.parent, + data: snapshotResponse.data.data + }) + ); + + //orientation animation + const newOrientation = snapshotState.nglReducers.nglOrientations[VIEWS.MAJOR_VIEW]; + await stage.animationControls.orient(newOrientation.elements, 2000); //.then(() => { + let currentState = getState(); + const toBeDisplayedLHSCurrent = currentState.selectionReducers.toBeDisplayedList; + const toBeDisplayedRHSCurrent = currentState.datasetsReducers.toBeDisplayedList; + const toBeDisplayedLHSNew = snapshotState.selectionReducers.toBeDisplayedList; + const toBeDisplayedRHSNew = snapshotState.datasetsReducers.toBeDisplayedList; + + //remove LHS stuff that is not in the new snapshot + const toBeNoLongerDisplayedLHS = toBeDisplayedLHSCurrent.filter( + currentStruct => + !toBeDisplayedLHSNew.find(newStruct => newStruct.id === currentStruct.id && newStruct.type === currentStruct.type) + ); + toBeNoLongerDisplayedLHS.forEach(notToBeDisplayed => + toBeDisplayedLHSNew.push({ ...notToBeDisplayed, display: false }) + ); + + //remove RHS stuff that is not in the new snapshot + const toBeNoLongerDisplayedRHS = []; + Object.keys(toBeDisplayedRHSCurrent).forEach(datasetID => { + const currentDataset = toBeDisplayedRHSCurrent[datasetID]; + const newDataset = toBeDisplayedRHSNew[datasetID]; + if (newDataset) { + const toBeNoLongerDisplayed = currentDataset.filter( + currentStruct => + !newDataset.find(newStruct => newStruct.id === currentStruct.id && newStruct.type === currentStruct.type) + ); + toBeNoLongerDisplayedRHS.push(...toBeNoLongerDisplayed); + } + }); + toBeNoLongerDisplayedRHS.forEach(notToBeDisplayed => + toBeDisplayedRHSNew[notToBeDisplayed.datasetID] + ? toBeDisplayedRHSNew[notToBeDisplayed.datasetID].push({ ...notToBeDisplayed, display: false }) + : (toBeDisplayedRHSNew[notToBeDisplayed.datasetID] = [{ ...notToBeDisplayed, display: false }]) + ); + + const toBeDisplayedLHSNewDeepCopy = deepClone(toBeDisplayedLHSNew); + const toBeDisplayedRHSNewDeepCopy = deepClone(toBeDisplayedRHSNew) || {}; + + currentState = getState(); + // const copyOfCurrentState = deepClone(currentState); + const newState = deepMergeWithPriorityAndBlackList( + // copyOfCurrentState, + currentState, + snapshotState, + SNAPSHOT_VALUES_NOT_TO_BE_DELETED_SWITCHING_TARGETS + ); + + dispatch(setToBeDisplayedList(toBeDisplayedLHSNewDeepCopy)); + dispatch(setToBeDisplayedLists(toBeDisplayedRHSNewDeepCopy)); + // }); + // await new Promise(r => setTimeout(r, 2000)); + + // dispatch(setEntireState(newState)); + // console.log('msg'); +}; + +export const isSnapshotModified = snapshotID => async (dispatch, getState) => { + let result = false; + + const state = getState(); + + const snapshotResponse = await api({ url: `${base_url}/api/snapshots/${snapshotID}` }); + const originalSnapshotState = snapshotResponse.data.additional_info.snapshotState; + let originalSnapshotStateCopy = deepClone(originalSnapshotState); + + let notToBeCopiedClone = deepClone(SNAPSHOT_VALUES_NOT_TO_BE_DELETED_SWITCHING_TARGETS); + delete notToBeCopiedClone.apiReducers.target_id_list; //array + + const currentSnapshotState = deepMergeWithPriorityAndBlackList({}, state, notToBeCopiedClone); + let currentSnapshotStateCopy = deepClone(currentSnapshotState); + currentSnapshotStateCopy = deepMergeWithPriority({ ...currentSnapshotStateCopy }, notToBeCopiedClone); + currentSnapshotStateCopy = deepMergeWithPriority({ ...currentSnapshotStateCopy }, SNAPSHOT_VALUES_TO_BE_DELETED); + + delete originalSnapshotStateCopy.nglReducers; + delete currentSnapshotStateCopy.nglReducers; + + delete originalSnapshotStateCopy.snapshotReducers; + delete currentSnapshotStateCopy.snapshotReducers; + + delete originalSnapshotStateCopy.layoutReducers; + delete currentSnapshotStateCopy.layoutReducers; + + delete originalSnapshotStateCopy.projectReducers; + delete currentSnapshotStateCopy.projectReducers; + + delete originalSnapshotStateCopy.apiReducers; + delete currentSnapshotStateCopy.apiReducers; + + delete originalSnapshotStateCopy.previewReducers.molecule.disableNglControlButtons; //array + delete currentSnapshotStateCopy.previewReducers.molecule.disableNglControlButtons; + delete originalSnapshotStateCopy.selectionReducers.toastMessages; //array + delete currentSnapshotStateCopy.selectionReducers.toastMessages; + + let path = ''; + const isModified = !deepEqual(originalSnapshotStateCopy, currentSnapshotStateCopy, path); + + result = isModified; + + return result; +}; diff --git a/js/components/snapshot/redux/reducer.js b/js/components/snapshot/redux/reducer.js index a8f4ef0b5..d6b9eb5c1 100644 --- a/js/components/snapshot/redux/reducer.js +++ b/js/components/snapshot/redux/reducer.js @@ -24,11 +24,23 @@ export const INITIAL_STATE = { disableRedirect: false, snapshotJustSaved: false, dontShowShareSnapshot: false, - downloadStructuresDialogOpen: false + downloadStructuresDialogOpen: false, + isSnapshotDirty: false, + isSnapshotEditDialogOpen: false, + snapshotToBeEdited: null }; export const snapshotReducers = (state = INITIAL_STATE, action = {}) => { switch (action.type) { + case constants.SET_SNAPSHOT_EDIT_DIALOG_OPEN: + return { ...state, isSnapshotEditDialogOpen: action.payload }; + + case constants.SET_SNAPSHOT_TO_BE_EDITED: + return { ...state, snapshotToBeEdited: action.payload }; + + case constants.SET_SNAPSHOT_IS_DIRTY: + return { ...state, isSnapshotDirty: action.payload }; + case constants.SET_SAVE_TYPE: return Object.assign({}, state, { saveType: action.payload diff --git a/js/components/snapshot/redux/utilitySnapshotShapes.js b/js/components/snapshot/redux/utilitySnapshotShapes.js new file mode 100644 index 000000000..f12c5925f --- /dev/null +++ b/js/components/snapshot/redux/utilitySnapshotShapes.js @@ -0,0 +1,86 @@ +import { deepClone } from '../../../utils/objectUtils'; + +export const SNAPSHOT_VALUES_TO_BE_DELETED = { + apiReducers: { + // target_id_list: [], + legacy_target_id_list: [], + all_mol_lists: [], + moleculeTags: [], + tagList: [], + categoryList: [], + lhs_compounds_list: [], + lhsDataIsLoading: true, + lhsDataIsLoaded: false, + rhsDataIsLoading: true, + rhsDataIsLoaded: false, + proteinIsLoading: false, + proteinIsLoaded: false + }, + nglReducers: { + objectsInView: {}, + pdbCache: {}, + qualityCache: {}, + nglViewFromSnapshotRendered: false, + snapshotOrientationApplied: false + }, + selectionReducers: { + fragmentDisplayList: [], + proteinList: [], + complexList: [], + surfaceList: [], + densityList: [], + densityListCustom: [], + densityListType: [], + qualityList: [], + vectorOnList: [], + isScrollFiredForLHS: false + }, + snapshotReducers: { + openSavingDialog: false, + isSnapshotDirty: false + }, + previewReducers: { + molecule: { + imageCache: {} + } + }, + datasetsReducers: { + datasets: [], + moleculeLists: {}, + scoreDatasetMap: {}, + allInspirations: {}, + ligandLists: {}, + proteinLists: {}, + complexLists: {}, + surfaceLists: {}, + datasetScrolledMap: {}, + isSelectedDatasetScrolled: false + }, + projectReducers: { + isProjectModalLoading: false + } +}; + +export const SNAPSHOT_VALUES_NOT_TO_BE_DELETED_SWITCHING_TARGETS = { + apiReducers: { + target_id_list: [], + legacy_target_id_list: [], + all_mol_lists: [], + moleculeTags: [], + tagList: [], + categoryList: [], + lhs_compounds_list: [] + }, + datasetsReducers: { + datasets: [], + moleculeLists: {}, + scoreDatasetMap: {}, + allInspirations: {} + }, + projectReducers: { + currentSnapshot: {}, + currentSnapshotList: [], + currentSnapshotTree: {}, + currentProject: {} + } +}; diff --git a/js/components/snapshot/withSnapshotManagement.js b/js/components/snapshot/withSnapshotManagement.js index 513b0376b..d01a73f7f 100644 --- a/js/components/snapshot/withSnapshotManagement.js +++ b/js/components/snapshot/withSnapshotManagement.js @@ -70,26 +70,6 @@ export const withSnapshotManagement = WrappedComponent => { } } setHeaderButtons([ - !target && currentSnapshotID && ( - - ), + + ) : ( + { text } + ); + options.link ? toast(message, { ...infoOptions, ...options }) : toast(text, { ...infoOptions, ...options }); + // toast(text, { ...infoOptions, ...options }); }; return ( diff --git a/js/components/tracking/EditableText.js b/js/components/tracking/EditableText.js deleted file mode 100644 index 91549d9de..000000000 --- a/js/components/tracking/EditableText.js +++ /dev/null @@ -1,68 +0,0 @@ -import React, { useState, useRef, useEffect } from 'react'; -import { makeStyles, TextField, IconButton, Tooltip, Grid } from '@material-ui/core'; -import { Edit } from '@material-ui/icons'; - -const useStyles = makeStyles(theme => ({ - search: { - width: '100%' - }, - fontSizeSmall: { - fontSize: '0.82rem' - } -})); - -const EditableInput = ({ dataText, index, updateText }) => { - const inputRef = useRef(null); - const [inputVisible, setInputVisible] = useState(false); - const [text, setText] = useState(dataText); - const classes = useStyles(); - - const onClickOutSide = e => { - if (inputRef.current && !inputRef.current.contains(e.target)) { - setInputVisible(false); - if (updateText && text !== dataText) { - updateText(text); - } - } - }; - - useEffect(() => { - // Handle outside clicks on mounted state - if (inputVisible) { - document.addEventListener('mousedown', onClickOutSide); - } - - // This is a necessary step to "dismount" unnecessary events when we destroy the component - return () => { - document.removeEventListener('mousedown', onClickOutSide); - }; - }); - - return ( - - {inputVisible ? ( - { - setText(e.target.value); - }} - /> - ) : ( - - { setInputVisible(true)}>{text}} - { - setInputVisible(true)}> - - - - - } - - )} - - ); -}; - -export default EditableInput; diff --git a/js/components/tracking/timelineView.js b/js/components/tracking/timelineView.js deleted file mode 100644 index 527d1a41d..000000000 --- a/js/components/tracking/timelineView.js +++ /dev/null @@ -1,228 +0,0 @@ -import React, { useState, useRef, memo } from 'react'; -import { useDispatch, useSelector } from 'react-redux'; -import { makeStyles, IconButton, Tooltip, Grid, Box, Chip } from '@material-ui/core'; -import { Check, Clear, Warning, Favorite, Star } from '@material-ui/icons'; -import { actionAnnotation } from '../../reducers/tracking/constants'; -import { TimelineEvent } from 'react-event-timeline'; -import EditableText from './EditableText'; -import palette from '../../theme/palette'; -import { updateTrackingActions } from '../../reducers/tracking/dispatchActions'; -import { actionType } from '../../reducers/tracking/constants'; -import Gallery from 'react-grid-gallery'; - -const useStyles = makeStyles(theme => ({ - headerGrid: { - height: '15px' - }, - grid: { - height: 'inherit' - }, - iconButton: { - padding: '6px', - paddingTop: '0px' - }, - timelineEvent: { - borderBottom: '1px dashed ' + palette.divider, - paddingBottom: '10px' - }, - title: { - position: 'relative', - paddingLeft: '45px', - textAlign: 'left', - fontWeight: 'bold' - }, - titleMargin: { - marginRight: '5px' - } -})); - -const TimelineView = memo(({ data, index }) => { - const dispatch = useDispatch(); - const classes = useStyles(); - - const currentSnapshotID = useSelector(state => state.projectReducers.currentSnapshot.id); - let isSelected = currentSnapshotID === data.object_id; - - const ref = useRef(null); - const [isHovering, setIsHovering] = useState(false); - const [updatedIcon, setUpdatedIcon] = useState(null); - - const getActionIcon = annotation => { - if (annotation) { - switch (annotation) { - case actionAnnotation.CHECK: - return ; - case actionAnnotation.CLEAR: - return ; - case actionAnnotation.WARNING: - return ; - case actionAnnotation.FAVORITE: - return ; - case actionAnnotation.STAR: - return ; - default: - return ; - } - } else { - return ; - } - }; - - const annotationActions = [ - { - setUpdatedIcon(actionAnnotation.CHECK); - updateDataAnnotation(actionAnnotation.CHECK); - }} - > - - - - , - { - setUpdatedIcon(actionAnnotation.CLEAR); - updateDataAnnotation(actionAnnotation.CLEAR); - }} - > - - - - , - { - setUpdatedIcon(actionAnnotation.WARNING); - updateDataAnnotation(actionAnnotation.WARNING); - }} - > - - - - , - { - setUpdatedIcon(actionAnnotation.FAVORITE); - updateDataAnnotation(actionAnnotation.FAVORITE); - }} - > - - - - , - { - setUpdatedIcon(actionAnnotation.STAR); - updateDataAnnotation(actionAnnotation.STAR); - }} - > - - - - - ]; - - const updateDataText = text => { - data.text = text; - dispatch(updateTrackingActions(data)); - }; - - const updateDataAnnotation = annotation => { - data.annotation = annotation; - dispatch(updateTrackingActions(data)); - }; - - const images = [ - { - src: data.image, - thumbnail: data.image, - thumbnailWidth: 0, - thumbnailHeight: 0, - caption: data.object_name - } - ]; - - return ( -
setIsHovering(true)} onMouseLeave={() => setIsHovering(false)}> - {data.type && data.type === actionType.SNAPSHOT ? ( - <> - - {isSelected && ( - - - - )} - { - - {`${data.text}`} - - } - { - - - - } - - - ) : ( - <> - - - { - - - - } - {isHovering && ( - - {annotationActions && - annotationActions.map((action, index) => ( - - {action} - - ))} - - )} - -
- } - createdAt={new Date(data.timestamp).toLocaleString()} - icon={updatedIcon && updatedIcon != null ? getActionIcon(updatedIcon) : getActionIcon(data.annotation)} - iconColor={palette.primary.main} - className={classes.timelineEvent} - > - - )} -
- ); -}); - -TimelineView.displayName = 'TimelineView'; -export default TimelineView; diff --git a/js/components/tracking/trackingModal.js b/js/components/tracking/trackingModal.js deleted file mode 100644 index 032135214..000000000 --- a/js/components/tracking/trackingModal.js +++ /dev/null @@ -1,105 +0,0 @@ -import React, { memo, useCallback, useEffect, useRef } from 'react'; -import { useSelector, useDispatch } from 'react-redux'; -import Modal from '../common/Modal'; -import { Grid, makeStyles, IconButton, Tooltip } from '@material-ui/core'; -import { Timeline } from 'react-event-timeline'; -import { Close } from '@material-ui/icons'; -import { Panel } from '../common'; -import TimelineView from './timelineView'; -import { setProjectTrackingActions } from '../../reducers/tracking/dispatchActions'; - -const useStyles = makeStyles(theme => ({ - customModal: { - width: '70%', - height: '90%' - }, - customContentModal: { - height: '100%' - }, - - divContainer: { - height: '100%', - width: '100%', - paddingTop: theme.spacing(1) / 2 - }, - divScrollable: { - height: '100%', - width: '100%', - overflow: 'auto' - }, - containerExpanded: { height: '100%' } -})); - -export const TrackingModal = memo(({ openModal, onModalClose }) => { - const classes = useStyles(); - const dispatch = useDispatch(); - const bottomRef = useRef(); - - const actionList = useSelector(state => state.trackingReducers.project_actions_list); - const orderedActionList = (actionList && actionList.sort((a, b) => a.timestamp - b.timestamp)) || []; - - const loadAllActions = useCallback(() => { - if (openModal === true) { - dispatch(setProjectTrackingActions()); - } - }, [dispatch, openModal]); - - const scrollToBottom = () => { - if (bottomRef.current != null) { - bottomRef.current.scrollIntoView({ - behavior: 'auto', - block: 'nearest', - inline: 'nearest' - }); - } - }; - - useEffect(() => { - loadAllActions(); - }, [loadAllActions]); - - if (openModal === undefined) { - console.log('undefined openModal'); - onModalClose(); - } - - const actions = [ - onModalClose()}> - - - - - ]; - - return ( - onModalClose()} - > - - -
-
- - {orderedActionList && - orderedActionList.map((data, index) => { - if (data && data != null) { - return ; - } - })} - -
{ - bottomRef.current = el; - scrollToBottom(); - }} - >
-
-
-
-
-
- ); -}); diff --git a/js/components/userFeedback/browserApi.js b/js/components/userFeedback/browserApi.js index cbb7c0c33..afa59899f 100644 --- a/js/components/userFeedback/browserApi.js +++ b/js/components/userFeedback/browserApi.js @@ -1,5 +1,4 @@ import { setImageSource, setIsOpenForm } from './redux/actions'; -import { setTrackingImageSource } from '../../reducers/tracking/actions'; import html2canvas from 'html2canvas'; /* Getting image from screen capture or */ @@ -85,6 +84,6 @@ export const captureScreen = () => async dispatch => { export const captureScreenOfSnapshot = () => async dispatch => { html2canvas(document.body).then(canvas => { - dispatch(setTrackingImageSource(canvas.toDataURL())); + // dispatch(setTrackingImageSource(canvas.toDataURL())); }); }; diff --git a/js/index.js b/js/index.js index 223efe894..cba0b3263 100644 --- a/js/index.js +++ b/js/index.js @@ -10,15 +10,11 @@ import { applyMiddleware, createStore } from 'redux'; import { rootReducer } from './reducers/rootReducer'; import { saveStore } from './components/helpers/globalStore'; import thunkMiddleware from 'redux-thunk'; -import trackingMiddleware from './reducers/tracking/trackingMiddleware'; -import nglTrackingMiddleware from './reducers/nglTracking/nglTrackingMiddleware'; import { composeWithDevTools } from 'redux-devtools-extension'; const middlewareEnhancer = applyMiddleware( //loggerMiddleware, - thunkMiddleware, - trackingMiddleware, - nglTrackingMiddleware + thunkMiddleware ); const enhancers = [middlewareEnhancer]; const composedEnhancers = composeWithDevTools(...enhancers); diff --git a/js/reducers/actions.js b/js/reducers/actions.js new file mode 100644 index 000000000..31188db11 --- /dev/null +++ b/js/reducers/actions.js @@ -0,0 +1,8 @@ +import { constants } from './constants'; + +export const setEntireState = newState => { + return { + type: constants.SET_ENTIRE_STATE, + newState: newState + }; +}; diff --git a/js/reducers/api/actions.js b/js/reducers/api/actions.js index f21069edb..08ebe6857 100644 --- a/js/reducers/api/actions.js +++ b/js/reducers/api/actions.js @@ -394,3 +394,45 @@ export const setIsSnapshot = (isSnapshot, skipTracking = true) => { skipTracking }; }; + +export const setLHSDataIsLoading = lhsDataIsLoading => { + return { + type: constants.SET_LHS_DATA_IS_LOADING, + lhsDataIsLoading: lhsDataIsLoading + }; +}; + +export const setLHSDataIsLoaded = lhsDataIsLoaded => { + return { + type: constants.SET_LHS_DATA_IS_LOADED, + lhsDataIsLoaded: lhsDataIsLoaded + }; +}; + +export const setRHSDataIsLoading = rhsDataIsLoading => { + return { + type: constants.SET_RHS_DATA_IS_LOADING, + rhsDataIsLoading: rhsDataIsLoading + }; +}; + +export const setRHSDataIsLoaded = rhsDataIsLoaded => { + return { + type: constants.SET_RHS_DATA_IS_LOADED, + rhsDataIsLoaded: rhsDataIsLoaded + }; +}; + +export const setProteinIsLoading = proteinIsLoading => { + return { + type: constants.SET_PROTEIN_IS_LOADING, + proteinIsLoading: proteinIsLoading + }; +}; + +export const setProteinIsLoaded = proteinIsLoaded => { + return { + type: constants.SET_PROTEIN_IS_LOADED, + proteinIsLoaded: proteinIsLoaded + }; +}; diff --git a/js/reducers/api/apiReducers.js b/js/reducers/api/apiReducers.js index a2ce50660..92f2c2481 100644 --- a/js/reducers/api/apiReducers.js +++ b/js/reducers/api/apiReducers.js @@ -52,7 +52,13 @@ export const INITIAL_STATE = { target_data_loading_in_progress: false, all_data_loaded: false, isSnapshot: false, - lhs_compounds_list: [] + lhs_compounds_list: [], + lhsDataIsLoading: false, + lhsDataIsLoaded: false, + rhsDataIsLoading: false, + rhsDataIsLoaded: false, + proteinIsLoading: false, + proteinIsLoaded: false }; export const RESET_TARGET_STATE = { @@ -99,6 +105,24 @@ export const RESET_TARGET_STATE = { export default function apiReducers(state = INITIAL_STATE, action = {}) { switch (action.type) { + case constants.SET_LHS_DATA_IS_LOADING: + return { ...state, lhsDataIsLoading: action.lhsDataIsLoading }; + + case constants.SET_LHS_DATA_IS_LOADED: + return { ...state, lhsDataIsLoaded: action.lhsDataIsLoaded }; + + case constants.SET_RHS_DATA_IS_LOADING: + return { ...state, rhsDataIsLoading: action.rhsDataIsLoading }; + + case constants.SET_RHS_DATA_IS_LOADED: + return { ...state, rhsDataIsLoaded: action.rhsDataIsLoaded }; + + case constants.SET_PROTEIN_IS_LOADING: + return { ...state, proteinIsLoading: action.proteinIsLoading }; + + case constants.SET_PROTEIN_IS_LOADED: + return { ...state, proteinIsLoaded: action.proteinIsLoaded }; + case constants.SET_OPEN_DISCOURSE_ERROR_MODAL: return Object.assign({}, state, { open_discourse_error_modal: action.payload }); @@ -302,7 +326,7 @@ export default function apiReducers(state = INITIAL_STATE, action = {}) { case constants.SET_SESSION_ID_LIST: let sessionSummaryNew = []; - for (var key in action.sessionIdList) { + for (const key in action.sessionIdList) { sessionSummaryNew.push({ id: action.sessionIdList[key].id, uuid: action.sessionIdList[key].uuid, @@ -320,7 +344,7 @@ export default function apiReducers(state = INITIAL_STATE, action = {}) { case constants.UPDATE_SESSION_ID_LIST: let sessionSummary = []; - for (var key in action.sessionIdList) { + for (const key in action.sessionIdList) { sessionSummary.push({ id: action.sessionIdList[key].id, uuid: action.sessionIdList[key].uuid, diff --git a/js/reducers/api/constants.js b/js/reducers/api/constants.js index 40d150168..c8ae1a86f 100644 --- a/js/reducers/api/constants.js +++ b/js/reducers/api/constants.js @@ -56,5 +56,11 @@ export const constants = { SET_LHS_COMPOUNDS_LIST: prefix + 'SET_LHS_COMPOUNDS_LIST', UPDATE_LHS_COMPOUND: prefix + 'UPDATE_LHS_COMPOUND', REMOVE_LHS_COMPOUND: prefix + 'REMOVE_LHS_COMPOUND', - REPLACE_TARGET: prefix + 'REPLACE_TARGET' + REPLACE_TARGET: prefix + 'REPLACE_TARGET', + SET_LHS_DATA_IS_LOADING: prefix + 'SET_LHS_DATA_IS_LOADING', + SET_LHS_DATA_IS_LOADED: prefix + 'SET_LHS_DATA_IS_LOADED', + SET_RHS_DATA_IS_LOADING: prefix + 'SET_RHS_DATA_IS_LOADING', + SET_RHS_DATA_IS_LOADED: prefix + 'SET_RHS_DATA_IS_LOADED', + SET_PROTEIN_IS_LOADING: prefix + 'SET_PROTEIN_IS_LOADING', + SET_PROTEIN_IS_LOADED: prefix + 'SET_PROTEIN_IS_LOADED' }; diff --git a/js/reducers/constants.js b/js/reducers/constants.js new file mode 100644 index 000000000..5f2652136 --- /dev/null +++ b/js/reducers/constants.js @@ -0,0 +1,4 @@ +const prefix = 'REDUCERS_ROOT_'; +export const constants = { + SET_ENTIRE_STATE: prefix + 'SET_ENTIRE_STATE' +}; diff --git a/js/reducers/ngl/actions.js b/js/reducers/ngl/actions.js index 7c58ae185..ef3054f8d 100644 --- a/js/reducers/ngl/actions.js +++ b/js/reducers/ngl/actions.js @@ -265,3 +265,23 @@ export const addToQualityCache = (name, cacheItem) => ({ type: CONSTANTS.ADD_TO_QUALITY_CACHE, payload: { name: name, cacheItem: cacheItem } }); + +export const setSkipOrientationChange = skip => ({ + type: CONSTANTS.SET_SKIP_ORIENTATION_CHANGE, + skip: skip +}); + +export const setNglViewFromSnapshotRendered = rendered => ({ + type: CONSTANTS.SET_NGL_VIEW_FROM_SNAPSHOT_RENDERED, + rendered +}); + +export const setSnapshotOrientationApplied = applied => ({ + type: CONSTANTS.SET_SNAPSHOT_ORIENTATION_APPLIED, + applied +}); + +export const setReapplyOrientation = reapply => ({ + type: CONSTANTS.SET_REAPPLY_ORIENTATION, + reapply +}); diff --git a/js/reducers/ngl/constants.js b/js/reducers/ngl/constants.js index 5fdde957a..3fa64dedf 100644 --- a/js/reducers/ngl/constants.js +++ b/js/reducers/ngl/constants.js @@ -58,10 +58,26 @@ export const CONSTANTS = { SET_WARNING_ICON: prefix + 'SET_WARNING_ICON', SET_ELECTRON_COLOR_DENSITY: prefix + 'SET_ELECTRON_COLOR' + MAP_TYPE.event, SET_ELECTRON_COLOR_DENSITY_MAP_sigmaa: prefix + 'SET_ELECTRON_COLOR' + MAP_TYPE.sigmaa, - SET_ELECTRON_COLOR_DENSITY_MAP_diff: prefix + 'SET_ELECTRONCOLOR' + MAP_TYPE.diff + SET_ELECTRON_COLOR_DENSITY_MAP_diff: prefix + 'SET_ELECTRONCOLOR' + MAP_TYPE.diff, + + SET_SKIP_ORIENTATION_CHANGE: prefix + 'SET_SKIP_ORIENTATION_CHANGE', + SET_NGL_VIEW_FROM_SNAPSHOT_RENDERED: prefix + 'SET_NGL_VIEW_FROM_SNAPSHOT_RENDERED', + SET_SNAPSHOT_ORIENTATION_APPLIED: prefix + 'SET_SNAPSHOT_ORIENTATION_APPLIED', + SET_REAPPLY_ORIENTATION: prefix + 'SET_REAPPLY_ORIENTATION' }; export const SCENES = { defaultScene: 'defaultScene', sessionScene: 'sessionScene' }; + +export const NGL_OBJECTS = { + PROTEIN: 'PROTEIN', + LIGAND: 'LIGAND', + SURFACE: 'SURFACE', + DENSITY: 'DENSITY', + DENSITY_CUSTOM: 'DENSITY_CUSTOM', + VECTOR: 'VECTOR', + COMPLEX: 'COMPLEX', + QUALITY: 'QUALITY' +}; diff --git a/js/reducers/ngl/dispatchActions.js b/js/reducers/ngl/dispatchActions.js index c15f95588..ada75f6b4 100644 --- a/js/reducers/ngl/dispatchActions.js +++ b/js/reducers/ngl/dispatchActions.js @@ -53,7 +53,7 @@ export const loadObject = ({ console.log('loadObject - entry'); if (stage) { const state = getState(); - const actionRestoring = state.trackingReducers.isActionRestoring; + const actionRestoring = false; //state.trackingReducers.isActionRestoring; dispatch(incrementCountOfPendingNglObjects(target.display_div)); const versionFixedTarget = JSON.parse(JSON.stringify(target)); @@ -210,7 +210,7 @@ export const setOrientationByInteraction = (div_id, orientation) => (dispatch, g export const centerOnLigandByMoleculeID = (stage, moleculeID) => (dispatch, getState) => { if (moleculeID && stage) { const state = getState(); - const skipOrientation = state.trackingReducers.skipOrientationChange; + const skipOrientation = false; //state.trackingReducers.skipOrientationChange; if (!skipOrientation) { const storedOrientation = state.nglReducers.moleculeOrientations[moleculeID]; console.count(`Before applying orientation centerOnLigandByMoleculeID`); @@ -257,7 +257,7 @@ export const reloadNglViewFromSnapshot = (stage, display_div, snapshot) => (disp }); const state = getState(); - const skipOrientation = state.trackingReducers.skipOrientationChange; + const skipOrientation = false; //state.trackingReducers.skipOrientationChange; // nglOrientations if (!skipOrientation) { const newOrientation = snapshot.nglOrientations[display_div]; @@ -368,7 +368,7 @@ export const isDensityMapVisible = (type, stage) => { export const restoreNglOrientation = (orientation, oldOrientation, div_id, stages) => (dispatch, getState) => { const state = getState(); - const skipOrientation = state.trackingReducers.skipOrientationChange; + const skipOrientation = false; //state.trackingReducers.skipOrientationChange; if (!skipOrientation) { const view = stages.find(view => view.id === div_id); diff --git a/js/reducers/ngl/nglReducers.js b/js/reducers/ngl/nglReducers.js index 1cf6a2d46..bce6f2297 100644 --- a/js/reducers/ngl/nglReducers.js +++ b/js/reducers/ngl/nglReducers.js @@ -45,13 +45,29 @@ export const INITIAL_STATE = { qualityCache: {}, electronDensityColor_event: 'blue', electronDensityColor_sigmaa: 'blue', - electronDensityColor_diff: 'blue' + electronDensityColor_diff: 'blue', + skipOrientationChange: false, + nglViewFromSnapshotRendered: false, + snapshotOrientationApplied: false, + reapplyOrientation: false }; export default function nglReducers(state = INITIAL_STATE, action = {}) { switch (action.type) { // Defined in initialState - but may be needed if we want to load a different structure + case CONSTANTS.SET_SKIP_ORIENTATION_CHANGE: + return { ...state, skipOrientationChange: action.skip }; + + case CONSTANTS.SET_REAPPLY_ORIENTATION: + return { ...state, reapplyOrientation: action.reapply }; + + case CONSTANTS.SET_NGL_VIEW_FROM_SNAPSHOT_RENDERED: + return { ...state, nglViewFromSnapshotRendered: { ...action.rendered } }; + + case CONSTANTS.SET_SNAPSHOT_ORIENTATION_APPLIED: + return { ...state, snapshotOrientationApplied: action.applied }; + case CONSTANTS.LOAD_OBJECT: // at first check if object was already stashed const objectsInViewStashTemp = JSON.parse(JSON.stringify(state.objectsInViewStash)); @@ -117,7 +133,10 @@ export default function nglReducers(state = INITIAL_STATE, action = {}) { // stash state of the object let newObjectsInViewStash = JSON.parse(JSON.stringify(state.objectsInViewStash)); if (objectsInViewTemp.hasOwnProperty(action.target.name)) { - newObjectsInViewStash[action.target.name] = { ...objectsInViewTemp[action.target.name], representations: objectsInViewTemp[action.target.name].representations }; + newObjectsInViewStash[action.target.name] = { + ...objectsInViewTemp[action.target.name], + representations: objectsInViewTemp[action.target.name].representations + }; } delete objectsInViewTemp[action.target.name]; @@ -195,9 +214,9 @@ export default function nglReducers(state = INITIAL_STATE, action = {}) { case CONSTANTS.APPEND_MOLECULE_ORIENTATION: const newMoleculeOrientations = Object.assign({}, state.moleculeOrientations); - if (newMoleculeOrientations[action.payload.moleculeID] === undefined) { - newMoleculeOrientations[action.payload.moleculeID] = action.payload.orientation; - } + // if (newMoleculeOrientations[action.payload.moleculeID] === undefined) { + newMoleculeOrientations[action.payload.moleculeID] = action.payload.orientation; + // } return Object.assign({}, state, { moleculeOrientations: newMoleculeOrientations }); case CONSTANTS.REMOVE_MOLECULE_ORIENTATION: diff --git a/js/reducers/ngl/useDisplayComplexLHS.js b/js/reducers/ngl/useDisplayComplexLHS.js new file mode 100644 index 000000000..48603c6a7 --- /dev/null +++ b/js/reducers/ngl/useDisplayComplexLHS.js @@ -0,0 +1,87 @@ +import { useCallback, useContext, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { NGL_OBJECTS } from './constants'; +import { appendComplexList, removeFromComplexList, removeFromToBeDisplayedList } from '../selection/actions'; +import { generateComplexObject, generateMoleculeId } from '../../components/nglView/generatingObjects'; +import { VIEWS } from '../../constants/constants'; +import { NglContext } from '../../components/nglView/nglProvider'; +import { getRandomColor } from '../../components/preview/molecule/utils/color'; +import { deleteObject, loadObject, setOrientation } from './dispatchActions'; +import { base_url } from '../../components/routes/constants'; +import { getToBeDisplayedStructures } from './utils'; + +export const useDisplayComplexLHS = () => { + const dispatch = useDispatch(); + + const toBeDisplayedList = useSelector(state => state.selectionReducers.toBeDisplayedList); + const displayedComplexes = useSelector(state => state.selectionReducers.complexList); + const allObservations = useSelector(state => state.apiReducers.all_mol_lists); + + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + const displayComplex = useCallback( + complexData => { + const data = allObservations.find(obs => obs.id === complexData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + + dispatch(appendComplexList(generateMoleculeId(data))); + return dispatch( + loadObject({ + target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateComplexObject(data, colourToggle, base_url)), + stage, + previousRepresentations: complexData.representations, + orientationMatrix: null, + preserveColour: complexData.preserveColour + }) + ).finally(() => { + const currentOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); + }); + }, + [allObservations, dispatch, stage] + ); + + const removeComplex = useCallback( + complexData => { + const data = allObservations.find(obs => obs.id === complexData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + + dispatch( + deleteObject( + Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateComplexObject(data, colourToggle, base_url)), + stage + ) + ); + dispatch(removeFromComplexList(generateMoleculeId(data))); + + dispatch(removeFromToBeDisplayedList({ id: complexData.id, type: NGL_OBJECTS.COMPLEX })); + }, + [allObservations, dispatch, stage] + ); + + useEffect(() => { + const toBeDisplayedComplexes = getToBeDisplayedStructures( + toBeDisplayedList, + displayedComplexes, + NGL_OBJECTS.COMPLEX + ); + toBeDisplayedComplexes?.forEach(data => { + displayComplex(data); + }); + + const toBeRemovedComplexes = getToBeDisplayedStructures( + toBeDisplayedList, + displayedComplexes, + NGL_OBJECTS.COMPLEX, + true + ); + toBeRemovedComplexes?.forEach(data => { + removeComplex(data); + }); + }, [toBeDisplayedList, displayComplex, dispatch, stage, removeComplex, displayedComplexes]); + + return {}; +}; diff --git a/js/reducers/ngl/useDisplayComplexRHS.js b/js/reducers/ngl/useDisplayComplexRHS.js new file mode 100644 index 000000000..ecc3726a2 --- /dev/null +++ b/js/reducers/ngl/useDisplayComplexRHS.js @@ -0,0 +1,99 @@ +import { useCallback, useContext, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { NglContext } from '../../components/nglView/nglProvider'; +import { VIEWS } from '../../constants/constants'; +import { NGL_OBJECTS } from './constants'; +import { getToBeDisplayedStructuresDataset } from './utils'; +import { getRandomColor } from '../../components/preview/molecule/utils/color'; +import { + appendComplexList, + removeFromComplexList, + removeFromToBeDisplayedListForDataset +} from '../../components/datasets/redux/actions'; +import { generateComplexObject, generateMoleculeCompoundId } from '../../components/nglView/generatingObjects'; +import { deleteObject, loadObject, setOrientation } from './dispatchActions'; +import { base_url } from '../../components/routes/constants'; + +export const useDisplayComplexRHS = () => { + const dispatch = useDispatch(); + + const toBeDisplayedList = useSelector(state => state.datasetsReducers.toBeDisplayedList); + const displayedComplexes = useSelector(state => state.datasetsReducers.complexLists); + const allCompounds = useSelector(state => state.datasetsReducers.moleculeLists); + + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + const displayComplex = useCallback( + complexData => { + const datasetCompounds = allCompounds[complexData.datasetID]; + const data = datasetCompounds?.find(obs => obs.id === complexData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + const datasetID = complexData.datasetID; + + dispatch(appendComplexList(datasetID, generateMoleculeCompoundId(data))); + return dispatch( + loadObject({ + target: Object.assign( + { display_div: VIEWS.MAJOR_VIEW }, + generateComplexObject(data, colourToggle, base_url, datasetID) + ), + stage, + previousRepresentations: complexData.representations, + orientationMatrix: null + }) + ).finally(() => { + const currentOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); + }); + }, + [allCompounds, dispatch, stage] + ); + + const removeComplex = useCallback( + complexData => { + const datasetCompounds = allCompounds[complexData.datasetID]; + const data = datasetCompounds?.find(obs => obs.id === complexData.id); + if (!data) return; + const datasetID = complexData.datasetID; + const colourToggle = getRandomColor(data); + + dispatch( + deleteObject( + Object.assign( + { display_div: VIEWS.MAJOR_VIEW }, + generateComplexObject(data, colourToggle, base_url, datasetID) + ), + stage + ) + ); + dispatch(removeFromComplexList(datasetID, generateMoleculeCompoundId(data))); + + dispatch(removeFromToBeDisplayedListForDataset(datasetID, { id: complexData.id, type: NGL_OBJECTS.COMPLEX })); + }, + [allCompounds, dispatch, stage] + ); + + useEffect(() => { + const toBeRemovedComplexes = getToBeDisplayedStructuresDataset( + toBeDisplayedList, + displayedComplexes, + NGL_OBJECTS.COMPLEX, + true + ); + toBeRemovedComplexes?.forEach(data => { + removeComplex(data); + }); + const toBeDisplayedComplexes = getToBeDisplayedStructuresDataset( + toBeDisplayedList, + displayedComplexes, + NGL_OBJECTS.COMPLEX + ); + toBeDisplayedComplexes?.forEach(data => { + displayComplex(data); + }); + }, [toBeDisplayedList, displayedComplexes, displayComplex, dispatch, stage, removeComplex]); + + return {}; +}; diff --git a/js/reducers/ngl/useDisplayDensityLHS.js b/js/reducers/ngl/useDisplayDensityLHS.js new file mode 100644 index 000000000..1b14e10fc --- /dev/null +++ b/js/reducers/ngl/useDisplayDensityLHS.js @@ -0,0 +1,214 @@ +import { useCallback, useContext, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { NGL_OBJECTS } from './constants'; +import { + appendDensityList, + appendDensityListCustom, + appendToBeDisplayedList, + appendToDensityListType, + removeFromDensityList, + removeFromDensityListCustom, + removeFromDensityListType, + removeFromToBeDisplayedList +} from '../selection/actions'; +import { generateDensityObject, generateMoleculeId } from '../../components/nglView/generatingObjects'; +import { VIEWS } from '../../constants/constants'; +import { NglContext } from '../../components/nglView/nglProvider'; +import { getRandomColor } from '../../components/preview/molecule/utils/color'; +import { loadObject, setOrientation } from './dispatchActions'; +import { base_url } from '../../components/routes/constants'; +import { getToBeDisplayedStructures } from './utils'; +import { + addQuality, + deleteDensityObject, + getDensityChangedParams, + getDensityMapData, + getProteinData, + removeQuality, + toggleDensityWireframe +} from '../../components/preview/molecule/redux/dispatchActions'; + +export const useDisplayDensityLHS = () => { + const dispatch = useDispatch(); + + const toBeDisplayedList = useSelector(state => state.selectionReducers.toBeDisplayedList); + const displayedDensities = useSelector(state => state.selectionReducers.densityList); + const displayedCustomDensities = useSelector(state => state.selectionReducers.densityListCustom); + const allObservations = useSelector(state => state.apiReducers.all_mol_lists); + + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + const displayDensity = useCallback( + async densityData => { + const data = allObservations.find(obs => obs.id === densityData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + + if (!data.proteinData) { + await dispatch(getDensityMapData(data)); + } + + const prepParams = dispatch(getDensityChangedParams(densityData.isWireframeStyle)); + const densityObject = generateDensityObject(data, colourToggle, base_url, densityData.isWireframeStyle); + const combinedObject = { ...prepParams, ...densityObject }; + dispatch( + loadObject({ + target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, combinedObject), + stage, + previousRepresentations: densityData.representations, + orientationMatrix: null + }) + ).finally(() => { + const currentOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); + let molDataId = generateMoleculeId(data); + if (!data.proteinData) { + dispatch(getProteinData(data)).then(i => { + const proteinData = i; + data.proteinData = proteinData; + + molDataId['render_event'] = data.proteinData.render_event; + molDataId['render_sigmaa'] = data.proteinData.render_sigmaa; + molDataId['render_diff'] = data.proteinData.render_diff; + molDataId['render_quality'] = data.proteinData.render_quality; + + dispatch(appendDensityList(generateMoleculeId(data))); + dispatch(appendToDensityListType(molDataId)); + if (data.proteinData.render_quality) { + return dispatch(addQuality(stage, data, colourToggle, true)); + } + }); + } else { + molDataId['render_event'] = data.proteinData.render_event; + molDataId['render_sigmaa'] = data.proteinData.render_sigmaa; + molDataId['render_diff'] = data.proteinData.render_diff; + molDataId['render_quality'] = data.proteinData.render_quality; + + dispatch(appendDensityList(generateMoleculeId(data))); + dispatch(appendToDensityListType(molDataId)); + if (data.proteinData.render_quality) { + return dispatch(addQuality(stage, data, colourToggle, true)); + } + } + }); + }, + [allObservations, dispatch, stage] + ); + + const displayCustomDensity = useCallback( + async densityData => { + const data = allObservations.find(obs => obs.id === densityData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + + if (!data.proteinData) { + await dispatch(getDensityMapData(data)); + } + + let densityObject = dispatch(getDensityChangedParams()); + densityObject = dispatch(toggleDensityWireframe(densityData.isWireframeStyle, densityObject)); + const oldDensityData = dispatch(deleteDensityObject(data, colourToggle, stage, !densityData.isWireframeStyle)); + densityObject = { ...densityObject, ...oldDensityData }; + const molId = generateMoleculeId(data); + dispatch(removeFromDensityList(molId, true)); + //here we need to remove density but we don't know if it is custom or not so we remove both + dispatch(removeFromToBeDisplayedList({ id: densityData.id, type: NGL_OBJECTS.DENSITY })); + dispatch(removeFromToBeDisplayedList({ id: densityData.id, type: NGL_OBJECTS.DENSITY_CUSTOM })); + //and then re-add it as custom + dispatch(appendDensityListCustom(generateMoleculeId(data))); + dispatch( + appendToBeDisplayedList({ + ...densityData + }) + ); + // dispatch(removeFromDensityListType(molId, true)); + + return dispatch( + loadObject({ + target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, densityObject), + stage, + previousRepresentations: densityData.representations, + orientationMatrix: null + }) + ).finally(() => { + const currentOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); + }); + }, + [allObservations, dispatch, stage] + ); + + const removeDensity = useCallback( + densityData => { + const data = allObservations.find(obs => obs.id === densityData.id); + const colourToggle = getRandomColor(data); + + dispatch(toggleDensityWireframe(densityData.isWireframeStyle)); + dispatch(deleteDensityObject(data, colourToggle, stage, densityData.isWireframeStyle)); + + const molId = generateMoleculeId(data); + dispatch(removeFromDensityList(molId)); + dispatch(removeFromDensityListCustom(molId, true)); + dispatch(removeFromDensityListType(molId)); + if (data.proteinData.render_quality) { + dispatch(removeQuality(stage, data, colourToggle, true)); + } + + dispatch(removeFromToBeDisplayedList({ id: densityData.id, type: NGL_OBJECTS.DENSITY })); + dispatch(removeFromToBeDisplayedList({ id: densityData.id, type: NGL_OBJECTS.DENSITY_CUSTOM })); + }, + [allObservations, dispatch, stage] + ); + + useEffect(() => { + const toBeDisplayedDensities = getToBeDisplayedStructures( + toBeDisplayedList, + displayedDensities, + NGL_OBJECTS.DENSITY + ); + toBeDisplayedDensities?.forEach(data => { + displayDensity(data); + }); + + const toBeDisplayedCustomDensities = getToBeDisplayedStructures( + toBeDisplayedList, + displayedCustomDensities, + NGL_OBJECTS.DENSITY_CUSTOM + ); + toBeDisplayedCustomDensities?.forEach(data => { + displayCustomDensity(data); + }); + + const toBeRemovedDensities = getToBeDisplayedStructures( + toBeDisplayedList, + displayedDensities, + NGL_OBJECTS.DENSITY, + true + ); + toBeRemovedDensities?.forEach(data => { + removeDensity(data); + }); + + const toBeRemovedCustomDensities = getToBeDisplayedStructures( + toBeDisplayedList, + displayedCustomDensities, + NGL_OBJECTS.DENSITY_CUSTOM, + true + ); + toBeRemovedCustomDensities?.forEach(data => { + removeDensity(data); + }); + }, [ + toBeDisplayedList, + displayDensity, + dispatch, + stage, + removeDensity, + displayedDensities, + displayedCustomDensities, + displayCustomDensity + ]); + + return {}; +}; diff --git a/js/reducers/ngl/useDisplayLigandLHS.js b/js/reducers/ngl/useDisplayLigandLHS.js new file mode 100644 index 000000000..d9f74742b --- /dev/null +++ b/js/reducers/ngl/useDisplayLigandLHS.js @@ -0,0 +1,118 @@ +import { useCallback, useContext, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { NGL_OBJECTS } from './constants'; +import { + appendFragmentDisplayList, + appendQualityList, + removeFromFragmentDisplayList, + removeFromQualityList, + removeFromToBeDisplayedList +} from '../selection/actions'; +import { generateMoleculeId, generateMoleculeObject } from '../../components/nglView/generatingObjects'; +import { VIEWS } from '../../constants/constants'; +import { NglContext } from '../../components/nglView/nglProvider'; +import { getRandomColor } from '../../components/preview/molecule/utils/color'; +import { readQualityInformation } from '../../components/nglView/renderingHelpers'; +import { deleteObject, loadObject, setOrientation } from './dispatchActions'; +import { appendMoleculeOrientation, setNglViewFromSnapshotRendered } from './actions'; +import { removeVector } from '../../components/preview/molecule/redux/dispatchActions'; +import { getToBeDisplayedStructures } from './utils'; + +export const useDisplayLigandLHS = () => { + const dispatch = useDispatch(); + + const toBeDisplayedList = useSelector(state => state.selectionReducers.toBeDisplayedList); + const displayedLigands = useSelector(state => state.selectionReducers.fragmentDisplayList); + const allObservations = useSelector(state => state.apiReducers.all_mol_lists); + const skipOrientationChange = useSelector(state => state.nglReducers.skipOrientationChange); + + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + // const isLoadingCurrentSnapshot = useSelector(state => state.projectReducers.isLoadingCurrentSnapshot); + + const displayLigand = useCallback( + ligandData => { + const data = allObservations.find(obs => obs.id === ligandData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + const currentOrientation = stage.viewerControls.getOrientation(); + + dispatch(appendFragmentDisplayList(generateMoleculeId(data))); + + let moleculeObject = generateMoleculeObject(data, colourToggle); + let qualityInformation = dispatch(readQualityInformation(moleculeObject.name, moleculeObject.sdf_info)); + + let hasAdditionalInformation = + ligandData.withQuality === true && + qualityInformation && + qualityInformation.badids && + qualityInformation.badids.length !== 0; + if (hasAdditionalInformation) { + dispatch(appendQualityList(generateMoleculeId(data))); + } + + return dispatch( + loadObject({ + target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, moleculeObject), + stage, + previousRepresentations: ligandData.representations, + loadQuality: hasAdditionalInformation, + quality: qualityInformation + }) + ).then(() => { + const skipOrientation = skipOrientationChange; + if (!skipOrientation /* || isLoadingCurrentSnapshot*/) { + const ligandOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, ligandOrientation)); + + dispatch(appendMoleculeOrientation(data?.id, ligandOrientation)); + if (!ligandData.center) { + // keep current orientation of NGL View + console.count(`Before applying orientation matrix after loading ligand.`); + stage.viewerControls.orient(currentOrientation); + console.count(`After applying orientation matrix after loading ligand.`); + } + } + // dispatch(setNglViewFromSnapshotRendered(false)); + }); + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [allObservations, dispatch, stage] //skipOrientationChange and isLoadingCurrentSnapshot are not included in the dependencies by desing + ); + + const removeLigand = useCallback( + ligandData => { + const data = allObservations.find(obs => obs.id === ligandData.id); + if (!data) return; + dispatch(deleteObject(Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateMoleculeObject(data)), stage)); + dispatch(removeFromFragmentDisplayList(generateMoleculeId(data))); + dispatch(removeFromQualityList(generateMoleculeId(data))); + if (ligandData.withVector === true) { + // remove vector + dispatch(removeVector(stage, data)); + } + + dispatch(removeFromToBeDisplayedList({ id: ligandData.id, type: NGL_OBJECTS.LIGAND })); + }, + [allObservations, dispatch, stage] + ); + + useEffect(() => { + const toBeRemovedLigands = getToBeDisplayedStructures( + toBeDisplayedList, + displayedLigands, + NGL_OBJECTS.LIGAND, + true + ); + toBeRemovedLigands?.forEach(data => { + removeLigand(data); + }); + const toBeDisplayedLigands = getToBeDisplayedStructures(toBeDisplayedList, displayedLigands, NGL_OBJECTS.LIGAND); + toBeDisplayedLigands?.forEach(data => { + displayLigand(data); + }); + }, [toBeDisplayedList, displayedLigands, displayLigand, dispatch, stage, removeLigand]); + + return {}; +}; diff --git a/js/reducers/ngl/useDisplayLigandRHS.js b/js/reducers/ngl/useDisplayLigandRHS.js new file mode 100644 index 000000000..e80e689ef --- /dev/null +++ b/js/reducers/ngl/useDisplayLigandRHS.js @@ -0,0 +1,112 @@ +import { useCallback, useContext, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { NglContext } from '../../components/nglView/nglProvider'; +import { VIEWS } from '../../constants/constants'; +import { NGL_OBJECTS } from './constants'; +import { getToBeDisplayedStructuresDataset } from './utils'; +import { getRandomColor } from '../../components/preview/molecule/utils/color'; +import { + appendLigandList, + removeFromLigandList, + removeFromToBeDisplayedListForDataset +} from '../../components/datasets/redux/actions'; +import { generateMoleculeCompoundId, generateMoleculeObject } from '../../components/nglView/generatingObjects'; +import { deleteObject, loadObject, setOrientation } from './dispatchActions'; +import { appendMoleculeOrientation, setNglViewFromSnapshotRendered } from './actions'; +import { getDatasetMoleculeID } from '../../components/datasets/redux/dispatchActions'; + +export const useDisplayLigandRHS = () => { + const dispatch = useDispatch(); + + const toBeDisplayedList = useSelector(state => state.datasetsReducers.toBeDisplayedList); + const displayedLigands = useSelector(state => state.datasetsReducers.ligandLists); + const allCompounds = useSelector(state => state.datasetsReducers.moleculeLists); + const skipOrientationChange = useSelector(state => state.nglReducers.skipOrientationChange); + + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + const displayLigand = useCallback( + ligandData => { + const datasetCompounds = allCompounds[ligandData.datasetID]; + const data = datasetCompounds?.find(obs => obs.id === ligandData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + const datasetID = ligandData.datasetID; + + dispatch(appendLigandList(datasetID, generateMoleculeCompoundId(data))); + console.count(`Grabbed orientation before loading dataset ligand`); + const currentOrientation = stage.viewerControls.getOrientation(); + return dispatch( + loadObject({ + target: Object.assign( + { display_div: VIEWS.MAJOR_VIEW }, + generateMoleculeObject(data, colourToggle, datasetID) + ), + stage, + previousRepresentations: ligandData.representations, + markAsRightSideLigand: true + }) + ).finally(() => { + const skipOrientation = skipOrientationChange; + if (!skipOrientation) { + const ligandOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, ligandOrientation)); + + dispatch(appendMoleculeOrientation(getDatasetMoleculeID(datasetID, data?.id), ligandOrientation)); + + // keep current orientation of NGL View + if (!skipOrientation) { + console.count(`Before applying orientation after loading dataset ligand.`); + stage.viewerControls.orient(currentOrientation); + console.count(`After applying orientation after loading dataset ligand.`); + } + // dispatch(setNglViewFromSnapshotRendered(false)); + } + }); + }, + [allCompounds, dispatch, skipOrientationChange, stage] + ); + + const removeLigand = useCallback( + ligandData => { + const datasetCompounds = allCompounds[ligandData.datasetID]; + const data = datasetCompounds?.find(obs => obs.id === ligandData.id); + if (!data) return; + const datasetID = ligandData.datasetID; + + dispatch( + deleteObject( + Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateMoleculeObject(data, undefined, datasetID)), + stage + ) + ); + dispatch(removeFromLigandList(datasetID, generateMoleculeCompoundId(data))); + + dispatch(removeFromToBeDisplayedListForDataset(datasetID, { id: ligandData.id, type: NGL_OBJECTS.LIGAND })); + }, + [allCompounds, dispatch, stage] + ); + + useEffect(() => { + const toBeRemovedLigands = getToBeDisplayedStructuresDataset( + toBeDisplayedList, + displayedLigands, + NGL_OBJECTS.LIGAND, + true + ); + toBeRemovedLigands?.forEach(data => { + removeLigand(data); + }); + const toBeDisplayedLigands = getToBeDisplayedStructuresDataset( + toBeDisplayedList, + displayedLigands, + NGL_OBJECTS.LIGAND + ); + toBeDisplayedLigands?.forEach(data => { + displayLigand(data); + }); + }, [toBeDisplayedList, displayedLigands, displayLigand, dispatch, stage, removeLigand]); + + return {}; +}; diff --git a/js/reducers/ngl/useDisplayProteinLHS.js b/js/reducers/ngl/useDisplayProteinLHS.js new file mode 100644 index 000000000..4b792f5d4 --- /dev/null +++ b/js/reducers/ngl/useDisplayProteinLHS.js @@ -0,0 +1,101 @@ +import { useCallback, useContext, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { NGL_OBJECTS } from './constants'; +import { + appendProteinList, + appendQualityList, + removeFromProteinList, + removeFromToBeDisplayedList +} from '../selection/actions'; +import { generateHitProteinObject, generateMoleculeId } from '../../components/nglView/generatingObjects'; +import { VIEWS } from '../../constants/constants'; +import { NglContext } from '../../components/nglView/nglProvider'; +import { getRandomColor } from '../../components/preview/molecule/utils/color'; +import { readQualityInformation } from '../../components/nglView/renderingHelpers'; +import { deleteObject, loadObject, setOrientation } from './dispatchActions'; +import { base_url } from '../../components/routes/constants'; +import { getToBeDisplayedStructures } from './utils'; + +export const useDisplayProteinLHS = () => { + const dispatch = useDispatch(); + + const toBeDisplayedList = useSelector(state => state.selectionReducers.toBeDisplayedList); + const displayedProteins = useSelector(state => state.selectionReducers.proteinList); + const allObservations = useSelector(state => state.apiReducers.all_mol_lists); + + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + const displayProtein = useCallback( + proteinData => { + const data = allObservations.find(obs => obs.id === proteinData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + + dispatch(appendProteinList(generateMoleculeId(data))); + const hitProteinObject = generateHitProteinObject(data, colourToggle, base_url); + const qualityInformation = dispatch(readQualityInformation(hitProteinObject.name, hitProteinObject.sdf_info)); + + let hasAdditionalInformation = + proteinData.withQuality === true && + qualityInformation && + qualityInformation.badproteinids && + qualityInformation.badproteinids.length !== 0; + if (hasAdditionalInformation) { + dispatch(appendQualityList(generateMoleculeId(data), true)); + } + + return dispatch( + loadObject({ + target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, hitProteinObject), + stage, + previousRepresentations: proteinData.representations, + orientationMatrix: null, + loadQuality: hasAdditionalInformation, + quality: qualityInformation, + preserveColour: proteinData.preserveColour + }) + ).finally(() => { + const currentOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); + }); + }, + [allObservations, dispatch, stage] + ); + + const removeProtein = useCallback( + proteinData => { + const data = allObservations.find(obs => obs.id === proteinData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + dispatch( + deleteObject( + Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateHitProteinObject(data, colourToggle, base_url)), + stage + ) + ); + dispatch(removeFromProteinList(generateMoleculeId(data))); + dispatch(removeFromToBeDisplayedList({ id: proteinData.id, type: NGL_OBJECTS.PROTEIN })); + }, + [allObservations, dispatch, stage] + ); + + useEffect(() => { + const toBeDisplayedProteins = getToBeDisplayedStructures(toBeDisplayedList, displayedProteins, NGL_OBJECTS.PROTEIN); + toBeDisplayedProteins?.forEach(data => { + displayProtein(data); + }); + + const toBeRemovedProteins = getToBeDisplayedStructures( + toBeDisplayedList, + displayedProteins, + NGL_OBJECTS.PROTEIN, + true + ); + toBeRemovedProteins?.forEach(data => { + removeProtein(data); + }); + }, [toBeDisplayedList, displayProtein, dispatch, stage, removeProtein, displayedProteins]); + + return {}; +}; diff --git a/js/reducers/ngl/useDisplayProteinRHS.js b/js/reducers/ngl/useDisplayProteinRHS.js new file mode 100644 index 000000000..2f4e4503a --- /dev/null +++ b/js/reducers/ngl/useDisplayProteinRHS.js @@ -0,0 +1,99 @@ +import { useCallback, useContext, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { NglContext } from '../../components/nglView/nglProvider'; +import { VIEWS } from '../../constants/constants'; +import { NGL_OBJECTS } from './constants'; +import { getToBeDisplayedStructuresDataset } from './utils'; +import { getRandomColor } from '../../components/preview/molecule/utils/color'; +import { + appendProteinList, + removeFromProteinList, + removeFromToBeDisplayedListForDataset +} from '../../components/datasets/redux/actions'; +import { generateHitProteinObject, generateMoleculeCompoundId } from '../../components/nglView/generatingObjects'; +import { deleteObject, loadObject, setOrientation } from './dispatchActions'; +import { base_url } from '../../components/routes/constants'; + +export const useDisplayProteinRHS = () => { + const dispatch = useDispatch(); + + const toBeDisplayedList = useSelector(state => state.datasetsReducers.toBeDisplayedList); + const displayedProteins = useSelector(state => state.datasetsReducers.proteinLists); + const allCompounds = useSelector(state => state.datasetsReducers.moleculeLists); + + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + const displayProtein = useCallback( + proteinData => { + const datasetCompounds = allCompounds[proteinData.datasetID]; + const data = datasetCompounds?.find(obs => obs.id === proteinData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + const datasetID = proteinData.datasetID; + + dispatch(appendProteinList(datasetID, generateMoleculeCompoundId(data))); + return dispatch( + loadObject({ + target: Object.assign( + { display_div: VIEWS.MAJOR_VIEW }, + generateHitProteinObject(data, colourToggle, base_url, datasetID) + ), + stage, + previousRepresentations: proteinData.representations, + orientationMatrix: null + }) + ).finally(() => { + const currentOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); + }); + }, + [allCompounds, dispatch, stage] + ); + + const removeProtein = useCallback( + proteinData => { + const datasetCompounds = allCompounds[proteinData.datasetID]; + const data = datasetCompounds?.find(obs => obs.id === proteinData.id); + if (!data) return; + const datasetID = proteinData.datasetID; + const colourToggle = getRandomColor(data); + + dispatch( + deleteObject( + Object.assign( + { display_div: VIEWS.MAJOR_VIEW }, + generateHitProteinObject(data, colourToggle, base_url, datasetID) + ), + stage + ) + ); + dispatch(removeFromProteinList(datasetID, generateMoleculeCompoundId(data))); + + dispatch(removeFromToBeDisplayedListForDataset(datasetID, { id: proteinData.id, type: NGL_OBJECTS.PROTEIN })); + }, + [allCompounds, dispatch, stage] + ); + + useEffect(() => { + const toBeRemovedProteins = getToBeDisplayedStructuresDataset( + toBeDisplayedList, + displayedProteins, + NGL_OBJECTS.PROTEIN, + true + ); + toBeRemovedProteins?.forEach(data => { + removeProtein(data); + }); + const toBeDisplayedProteins = getToBeDisplayedStructuresDataset( + toBeDisplayedList, + displayedProteins, + NGL_OBJECTS.PROTEIN + ); + toBeDisplayedProteins?.forEach(data => { + displayProtein(data); + }); + }, [toBeDisplayedList, displayedProteins, displayProtein, dispatch, stage, removeProtein]); + + return {}; +}; diff --git a/js/reducers/ngl/useDisplaySurfaceRHS.js b/js/reducers/ngl/useDisplaySurfaceRHS.js new file mode 100644 index 000000000..fa9ef9194 --- /dev/null +++ b/js/reducers/ngl/useDisplaySurfaceRHS.js @@ -0,0 +1,99 @@ +import { useCallback, useContext, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { NglContext } from '../../components/nglView/nglProvider'; +import { VIEWS } from '../../constants/constants'; +import { NGL_OBJECTS } from './constants'; +import { getToBeDisplayedStructuresDataset } from './utils'; +import { getRandomColor } from '../../components/preview/molecule/utils/color'; +import { + appendSurfaceList, + removeFromSurfaceList, + removeFromToBeDisplayedListForDataset +} from '../../components/datasets/redux/actions'; +import { generateMoleculeCompoundId, generateSurfaceObject } from '../../components/nglView/generatingObjects'; +import { deleteObject, loadObject, setOrientation } from './dispatchActions'; +import { base_url } from '../../components/routes/constants'; + +export const useDisplaySurfaceRHS = () => { + const dispatch = useDispatch(); + + const toBeDisplayedList = useSelector(state => state.datasetsReducers.toBeDisplayedList); + const displayedSurfaces = useSelector(state => state.datasetsReducers.surfaceLists); + const allCompounds = useSelector(state => state.datasetsReducers.moleculeLists); + + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + const displaySurface = useCallback( + surfaceData => { + const datasetCompounds = allCompounds[surfaceData.datasetID]; + const data = datasetCompounds?.find(obs => obs.id === surfaceData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + const datasetID = surfaceData.datasetID; + + dispatch(appendSurfaceList(datasetID, generateMoleculeCompoundId(data))); + return dispatch( + loadObject({ + target: Object.assign( + { display_div: VIEWS.MAJOR_VIEW }, + generateSurfaceObject(data, colourToggle, base_url, datasetID) + ), + stage, + previousRepresentations: surfaceData.representations, + orientationMatrix: null + }) + ).finally(() => { + const currentOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); + }); + }, + [allCompounds, dispatch, stage] + ); + + const removeSurface = useCallback( + surfaceData => { + const datasetCompounds = allCompounds[surfaceData.datasetID]; + const data = datasetCompounds?.find(obs => obs.id === surfaceData.id); + if (!data) return; + const datasetID = surfaceData.datasetID; + const colourToggle = getRandomColor(data); + + dispatch( + deleteObject( + Object.assign( + { display_div: VIEWS.MAJOR_VIEW }, + generateSurfaceObject(data, colourToggle, base_url, datasetID) + ), + stage + ) + ); + dispatch(removeFromSurfaceList(datasetID, generateMoleculeCompoundId(data))); + + dispatch(removeFromToBeDisplayedListForDataset(datasetID, { id: surfaceData.id, type: NGL_OBJECTS.SURFACE })); + }, + [allCompounds, dispatch, stage] + ); + + useEffect(() => { + const toBeRemovedSurfaces = getToBeDisplayedStructuresDataset( + toBeDisplayedList, + displayedSurfaces, + NGL_OBJECTS.SURFACE, + true + ); + toBeRemovedSurfaces?.forEach(data => { + removeSurface(data); + }); + const toBeDisplayedSurfaces = getToBeDisplayedStructuresDataset( + toBeDisplayedList, + displayedSurfaces, + NGL_OBJECTS.SURFACE + ); + toBeDisplayedSurfaces?.forEach(data => { + displaySurface(data); + }); + }, [toBeDisplayedList, displayedSurfaces, displaySurface, dispatch, stage, removeSurface]); + + return {}; +}; diff --git a/js/reducers/ngl/useDisplaySurfacesLHS.js b/js/reducers/ngl/useDisplaySurfacesLHS.js new file mode 100644 index 000000000..d7db21a0e --- /dev/null +++ b/js/reducers/ngl/useDisplaySurfacesLHS.js @@ -0,0 +1,83 @@ +import { useCallback, useContext, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { NGL_OBJECTS } from './constants'; +import { appendSurfaceList, removeFromSurfaceList, removeFromToBeDisplayedList } from '../selection/actions'; +import { generateMoleculeId, generateSurfaceObject } from '../../components/nglView/generatingObjects'; +import { VIEWS } from '../../constants/constants'; +import { NglContext } from '../../components/nglView/nglProvider'; +import { getRandomColor } from '../../components/preview/molecule/utils/color'; +import { deleteObject, loadObject, setOrientation } from './dispatchActions'; +import { base_url } from '../../components/routes/constants'; +import { getToBeDisplayedStructures } from './utils'; + +export const useDisplaySurfaceLHS = () => { + const dispatch = useDispatch(); + + const toBeDisplayedList = useSelector(state => state.selectionReducers.toBeDisplayedList); + const displayedSurfaces = useSelector(state => state.selectionReducers.surfaceList); + const allObservations = useSelector(state => state.apiReducers.all_mol_lists); + + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + const displaySurface = useCallback( + surfaceData => { + const data = allObservations.find(obs => obs.id === surfaceData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + + dispatch(appendSurfaceList(generateMoleculeId(data))); + return dispatch( + loadObject({ + target: Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateSurfaceObject(data, colourToggle, base_url)), + stage, + previousRepresentations: surfaceData.representations, + orientationMatrix: null, + preserveColour: surfaceData.preserveColour + }) + ).finally(() => { + const currentOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); + }); + }, + [allObservations, dispatch, stage] + ); + + const removeSurface = useCallback( + surfaceData => { + const data = allObservations.find(obs => obs.id === surfaceData.id); + if (!data) return; + const colourToggle = getRandomColor(data); + + dispatch( + deleteObject( + Object.assign({ display_div: VIEWS.MAJOR_VIEW }, generateSurfaceObject(data, colourToggle, base_url)), + stage + ) + ); + dispatch(removeFromSurfaceList(generateMoleculeId(data))); + + dispatch(removeFromToBeDisplayedList({ id: surfaceData.id, type: NGL_OBJECTS.SURFACE })); + }, + [allObservations, dispatch, stage] + ); + + useEffect(() => { + const toBeDisplayedSurfaces = getToBeDisplayedStructures(toBeDisplayedList, displayedSurfaces, NGL_OBJECTS.SURFACE); + toBeDisplayedSurfaces?.forEach(data => { + displaySurface(data); + }); + + const toBeRemovedSurfaces = getToBeDisplayedStructures( + toBeDisplayedList, + displayedSurfaces, + NGL_OBJECTS.SURFACE, + true + ); + toBeRemovedSurfaces?.forEach(data => { + removeSurface(data); + }); + }, [toBeDisplayedList, displaySurface, dispatch, stage, removeSurface, displayedSurfaces]); + + return {}; +}; diff --git a/js/reducers/ngl/useDisplayVectorLHS.js b/js/reducers/ngl/useDisplayVectorLHS.js new file mode 100644 index 000000000..e90a30481 --- /dev/null +++ b/js/reducers/ngl/useDisplayVectorLHS.js @@ -0,0 +1,116 @@ +import { useCallback, useContext, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { NGL_OBJECTS } from './constants'; +import { + appendVectorOnList, + removeFromToBeDisplayedList, + removeFromVectorOnList, + setVectorList, + updateBondColorMapOfCompounds, + updateVectorCompounds +} from '../selection/actions'; +import { generateMoleculeId } from '../../components/nglView/generatingObjects'; +import { VIEWS } from '../../constants/constants'; +import { NglContext } from '../../components/nglView/nglProvider'; +import { deleteObject, setOrientation } from './dispatchActions'; +import { base_url } from '../../components/routes/constants'; +import { getToBeDisplayedStructures } from './utils'; +import { selectVectorAndResetCompounds } from '../selection/dispatchActions'; +import { api } from '../../utils/api'; +import { getViewUrl, handleVector, removeCurrentVector } from '../../components/preview/molecule/redux/dispatchActions'; + +export const useDisplayVectorLHS = () => { + const dispatch = useDispatch(); + + const toBeDisplayedList = useSelector(state => state.selectionReducers.toBeDisplayedList); + const displayedVectors = useSelector(state => state.selectionReducers.vectorOnList); + const allObservations = useSelector(state => state.apiReducers.all_mol_lists); + const currentVector = useSelector(state => state.selectionReducers.currentVector); + const vector_list = useSelector(state => state.selectionReducers.vector_list); + + const { getNglView } = useContext(NglContext); + const stage = getNglView(VIEWS.MAJOR_VIEW) && getNglView(VIEWS.MAJOR_VIEW).stage; + + const displayVector = useCallback( + vectorData => { + const data = allObservations.find(obs => obs.id === vectorData.id); + if (!data) return; + + dispatch(appendVectorOnList(generateMoleculeId(data))); + dispatch(selectVectorAndResetCompounds(currentVector)); + + return api({ url: getViewUrl('graph', data) }) + .then(response => { + const result = response.data.graph; + const new_dict = {}; + // Uniquify + if (result) { + Object.keys(result).forEach(key => { + const smiSet = new Set(); + new_dict[key] = {}; + new_dict[key]['addition'] = []; + new_dict[key]['vector'] = result[key]['vector']; + Object.keys(result[key]['addition']).forEach(index => { + const newSmi = result[key]['addition'][index]['end']; + if (smiSet.has(newSmi) !== true) { + new_dict[key]['addition'].push(result[key]['addition'][index]); + smiSet.add(newSmi); + } + }); + }); + } + return dispatch(updateVectorCompounds(data.smiles, new_dict)); + }) + .then(() => api({ url: new URL(base_url + '/api/vector/?id=' + data.id) })) + .then(response => { + dispatch(handleVector(response.data?.results[0]?.vectors, stage, data)); + }) + .finally(() => { + const currentOrientation = stage.viewerControls.getOrientation(); + dispatch(setOrientation(VIEWS.MAJOR_VIEW, currentOrientation)); + }); + }, + [allObservations, currentVector, dispatch, stage] + ); + + const removeVector = useCallback( + vectorData => { + const data = allObservations.find(obs => obs.id === vectorData.id); + if (!data) return; + + vector_list + .filter(item => item.moleculeId === data.id) + .forEach(item => dispatch(deleteObject(Object.assign({ display_div: VIEWS.MAJOR_VIEW }, item), stage))); + + dispatch(removeCurrentVector(data.smiles)); + + dispatch(updateVectorCompounds(data.smiles, undefined)); + dispatch(updateBondColorMapOfCompounds(data.smiles, undefined)); + dispatch(removeFromVectorOnList(generateMoleculeId(data))); + + dispatch(setVectorList(vector_list.filter(item => item.moleculeId !== data.id))); + + dispatch(removeFromToBeDisplayedList({ id: vectorData.id, type: NGL_OBJECTS.VECTOR })); + }, + [allObservations, dispatch, stage, vector_list] + ); + + useEffect(() => { + const toBeDisplayedVectors = getToBeDisplayedStructures(toBeDisplayedList, displayedVectors, NGL_OBJECTS.VECTOR); + toBeDisplayedVectors?.forEach(data => { + displayVector(data); + }); + + const toBeRemovedVectors = getToBeDisplayedStructures( + toBeDisplayedList, + displayedVectors, + NGL_OBJECTS.VECTOR, + true + ); + toBeRemovedVectors?.forEach(data => { + removeVector(data); + }); + }, [toBeDisplayedList, displayVector, dispatch, stage, removeVector, displayedVectors]); + + return {}; +}; diff --git a/js/reducers/ngl/utils.js b/js/reducers/ngl/utils.js new file mode 100644 index 000000000..b00e209d3 --- /dev/null +++ b/js/reducers/ngl/utils.js @@ -0,0 +1,28 @@ +export const getToBeDisplayedStructures = (toBeDisplayed, displayedList, type, toBeRemoved = false) => { + let structures = []; + + structures = toBeDisplayed.filter( + struct => + struct.type === type && + struct.display === !toBeRemoved && + (toBeRemoved || !displayedList.find(id => id === struct.id)) + ); + + return structures; +}; + +export const getToBeDisplayedStructuresDataset = (toBeDisplayed, displayedList, type, toBeRemoved = false) => { + let result = []; + + Object.keys(toBeDisplayed).forEach(datasetID => { + const displayedDatasetLigands = displayedList[datasetID] || []; + const toBeDisplayedDataset = toBeDisplayed[datasetID] || []; + result = [ + ...result, + ...getToBeDisplayedStructures(toBeDisplayedDataset, displayedDatasetLigands, type, toBeRemoved) + ]; + // result.push(...getToBeDisplayedStructures(toBeDisplayedDataset, displayedDatasetLigands, type, toBeRemoved)); + }); + + return result; +}; diff --git a/js/reducers/nglTracking/actions.js b/js/reducers/nglTracking/actions.js deleted file mode 100644 index be6c9f05e..000000000 --- a/js/reducers/nglTracking/actions.js +++ /dev/null @@ -1,150 +0,0 @@ -import { constants, undoConstants } from './constants'; - -export const setActionsList = function(track_actions_list) { - return { - type: constants.SET_ACTIONS_LIST, - track_actions_list: track_actions_list - }; -}; - -export const appendToActionList = function(track_action) { - return { - type: constants.APPEND_ACTIONS_LIST, - track_action: track_action - }; -}; - -export const appendToUndoRedoActionList = function(track_action) { - return { - type: constants.APPEND_UNDO_REDO_ACTIONS_LIST, - track_action: track_action - }; -}; - -export const setUndoRedoActionList = (undo_redo_actions_list) => { - return { - type: constants.SET_UNDO_REDO_ACTIONS_LIST, - undo_redo_actions_list: undo_redo_actions_list - }; -} - -export const setCurrentActionsList = function(current_actions_list) { - return { - type: constants.SET_CURRENT_ACTIONS_LIST, - current_actions_list: current_actions_list - }; -}; - -export const setIsTrackingMoleculesRestoring = function(isTrackingMoleculesRestoring) { - return { - type: constants.SET_IS_TRACKING_MOLECULES_RESTORING, - isTrackingMoleculesRestoring: isTrackingMoleculesRestoring - }; -}; - -export const setIsTrackingCompoundsRestoring = function(isTrackingCompoundsRestoring) { - return { - type: constants.SET_IS_TRACKING_COMPOUNDS_RESTORING, - isTrackingCompoundsRestoring: isTrackingCompoundsRestoring - }; -}; - -export const setIsUndoRedoAction = function(isUndoRedoAction) { - return { - type: constants.SET_IS_UNDO_REDO_ACTION, - isUndoRedoAction: isUndoRedoAction - }; -}; - -export const setIsActionsSending = function(isActionsSending) { - return { - type: constants.SET_IS_ACTIONS_SENDING, - isActionsSending: isActionsSending - }; -}; - -export const setIsActionsLoading = function(isActionsLoading) { - return { - type: constants.SET_IS_ACTIONS_LOADING, - isActionsLoading: isActionsLoading - }; -}; - -export const setSendActionsList = function(track_actions_list) { - return { - type: constants.SET_SEND_ACTIONS_LIST, - send_actions_list: track_actions_list - }; -}; - -export const appendToSendActionList = function(track_action) { - return { - type: constants.APPEND_SEND_ACTIONS_LIST, - track_action: track_action - }; -}; - -export const setProjectActionList = function(project_actions_list) { - return { - type: constants.SET_PROJECT_ACTIONS_LIST, - project_actions_list: project_actions_list - }; -}; - -export const setSnapshotImageActionList = function(snapshotActionImageList) { - return { - type: constants.SET_SNAPSOT_IMAGE_ACTIONS_LIST, - snapshotActionImageList: snapshotActionImageList - }; -}; - -export const setIsActionsSaving = function(isActionSaving) { - return { - type: constants.SET_IS_ACTIONS_SAVING, - isActionSaving: isActionSaving - }; -}; - -export const setIsActionsRestoring = function(isActionRestoring, isActionRestored) { - return { - type: constants.SET_IS_ACTIONS_RESTORING, - isActionRestoring: isActionRestoring, - isActionRestored: isActionRestored - }; -}; - -export const setIsActionTracking = function(isActionTracking) { - return { - type: constants.SET_IS_ACTION_TRACKING, - isActionTracking: isActionTracking - }; -}; - -export const resetTrackingState = function() { - return { - type: constants.RESET_TRACKING_STATE - }; -}; - -export const setTrackingImageSource = imageSource => ({ - type: constants.SET_TRACKING_IMAGE_SOURCE, - payload: imageSource -}); - -export const nglTrackingUndo = function() { - return { - type: undoConstants.NGL_TRACKING_UNDO - }; -} - -export const nglTrackingRedo = function() { - return { - type: undoConstants.NGL_TRACKING_REDO - }; -} - -export const nglClearHistory = function() { - return { - type: undoConstants.NGL_CLEAR_HISTORY - } -} \ No newline at end of file diff --git a/js/reducers/nglTracking/constants.js b/js/reducers/nglTracking/constants.js deleted file mode 100644 index e1bd6318d..000000000 --- a/js/reducers/nglTracking/constants.js +++ /dev/null @@ -1,115 +0,0 @@ -const prefix = 'REDUCERS_NGL_TRACKING_'; - -export const constants = { - SET_ACTIONS_LIST: prefix + 'SET_ACTIONS_LIST', - APPEND_ACTIONS_LIST: prefix + 'APPEND_ACTIONS_LIST', - SET_CURRENT_ACTIONS_LIST: prefix + 'SET_CURRENT_ACTIONS_LIST', - SET_IS_TRACKING_COMPOUNDS_RESTORING: prefix + 'SET_IS_TRACKING_COMPOUNDS_RESTORING', - SET_IS_TRACKING_MOLECULES_RESTORING: prefix + 'SET_IS_TRACKING_MOLECULES_RESTORING', - SET_IS_UNDO_REDO_ACTION: prefix + 'SET_IS_UNDO_REDO_ACTION', - SET_SEND_ACTIONS_LIST: prefix + 'SET_SEND_ACTIONS_LIST', - APPEND_SEND_ACTIONS_LIST: prefix + 'APPEND_SEND_ACTIONS_LIST', - SET_IS_ACTIONS_SENDING: prefix + 'SET_IS_ACTIONS_SENDING', - SET_IS_ACTIONS_LOADING: prefix + 'SET_IS_ACTIONS_LOADING', - SET_PROJECT_ACTIONS_LIST: prefix + 'SET_PROJECT_ACTIONS_LIST', - SET_IS_ACTIONS_SAVING: prefix + 'SET_IS_ACTIONS_SAVING', - SET_IS_ACTIONS_RESTORING: prefix + 'SET_IS_ACTIONS_RESTORING', - SET_IS_ACTION_TRACKING: prefix + 'SET_IS_ACTION_TRACKING', - RESET_TRACKING_STATE: prefix + 'RESET_TRACKING_STATE', - SET_TRACKING_IMAGE_SOURCE: prefix + 'SET_TRACKING_IMAGE_SOURCE', - SET_SNAPSOT_IMAGE_ACTIONS_LIST: prefix + 'SET_SNAPSOT_IMAGE_ACTIONS_LIST', - APPEND_UNDO_REDO_ACTIONS_LIST: prefix + 'APPEND_UNDO_REDO_ACTIONS_LIST', - SET_UNDO_REDO_ACTIONS_LIST: prefix + 'SET_UNDO_REDO_ACTIONS_LIST' -}; - -export const actionType = { - TARGET_LOADED: 'TARGET_LOADED', - SITE_TURNED_ON: 'SITE_TURNED_ON', - SITE_TURNED_OFF: 'SITE_TURNED_OFF', - LIGAND_TURNED_ON: 'LIGAND_TURNED_ON', - LIGAND_TURNED_OFF: 'LIGAND_TURNED_OFF', - SIDECHAINS_TURNED_ON: 'SIDECHAINS_TURNED_ON', - SIDECHAINS_TURNED_OFF: 'SIDECHAINS_TURNED_OFF', - INTERACTIONS_TURNED_ON: 'INTERACTIONS_TURNED_ON', - INTERACTIONS_TURNED_OFF: 'INTERACTIONS_TURNED_OFF', - SURFACE_TURNED_ON: 'SURFACE_TURNED_ON', - SURFACE_TURNED_OFF: 'SURFACE_TURNED_OFF', - VECTORS_TURNED_ON: 'VECTORS_TURNED_ON', - VECTORS_TURNED_OFF: 'VECTORS_TURNED_OFF', - VECTOR_SELECTED: 'VECTOR_SELECTED', - VECTOR_DESELECTED: 'VECTOR_DESELECTED', - MOLECULE_ADDED_TO_SHOPPING_CART: 'MOLECULE_ADDED_TO_SHOPPING_CART', - MOLECULE_REMOVED_FROM_SHOPPING_CART: 'MOLECULE_REMOVED_FROM_SHOPPING_CART', - COMPOUND_SELECTED: 'COMPOUND_SELECTED', - COMPOUND_DESELECTED: 'COMPOUND_DESELECTED', - REPRESENTATION_UPDATED: 'REPRESENTATION_UPDATED', - REPRESENTATION_ADDED: 'REPRESENTATION_ADDED', - REPRESENTATION_REMOVED: 'REPRESENTATION_REMOVED', - REPRESENTATION_CHANGED: 'REPRESENTATION_CHANGED', - NGL_STATE: 'NGL_STATE', - UNDO: 'UNDO', - REDO: 'REDO', - SNAPSHOT: 'SNAPSHOT', - ALL_HIDE: 'ALL_HIDE', - ALL_TURNED_ON: 'ALL_TURNED_ON', - ALL_TURNED_OFF: 'ALL_TURNED_OFF', - ALL_TURNED_ON_BY_TYPE: 'ALL_TURNED_ON_BY_TYPE', - ALL_TURNED_OFF_BY_TYPE: 'ALL_TURNED_OFF_BY_TYPE', - BACKGROUND_COLOR_CHANGED: 'BACKGROUND_COLOR_CHANGED', - CLIP_NEAR: 'CLIP_NEAR', - ORIENTATION: 'ORIENTATION' -}; - -export const actionDescription = { - LOADED: 'was loaded', - TURNED_ON: 'was turned on', - TURNED_OFF: 'was turned off', - SELECTED: 'was selected', - DESELECTED: 'was deselected', - HIDDEN: 'hidden', - CANCELED: 'canceled', - ADDED: 'was added', - REMOVED: 'was removed', - CHANGED: 'was changed', - UPDATED: 'was updated', - TO_SHOPPING_CART: 'to shopping cart', - FROM_SHOPPING_CART: 'from shopping cart', - LIGAND: 'Ligand', - SIDECHAIN: 'Sidechain', - INTERACTION: 'Interaction', - VECTOR: 'Vector', - SURFACE: 'Surface', - SITE: 'Site', - TARGET: 'Target', - ALL: 'All', - LIGANDS: 'Ligands', - SIDECHAINS: 'Sidechains', - INTERACTIONS: 'Interactions' -}; - -export const actionObjectType = { - TARGET: 'TARGET', - SITE: 'SITE', - MOLECULE: 'MOLECULE', - COMPOUND: 'COMPOUND', - INSPIRATION: 'INSPIRATION', - CROSS_REFERENCE: 'CROSS_REFERENCE', - REPRESENTATION: 'REPRESENTATION', - VIEWER_SETTINGS: 'VIEWER_SETTINGS' -}; - -export const actionAnnotation = { - CHECK: 'CHECK', - CLEAR: 'CLEAR', - WARNING: 'WARNING', - FAVORITE: 'FAVORITE', - STAR: 'STAR' -}; - -export const NUM_OF_SECONDS_TO_IGNORE_MERGE = 5; - -export const undoConstants = { - NGL_TRACKING_UNDO: prefix + 'UNDO', - NGL_TRACKING_REDO: prefix + 'REDO', - NGL_CLEAR_HISTORY: prefix + 'CLEAR_HISTORY' -} \ No newline at end of file diff --git a/js/reducers/nglTracking/dispatchActions.js b/js/reducers/nglTracking/dispatchActions.js deleted file mode 100644 index 90eaf8289..000000000 --- a/js/reducers/nglTracking/dispatchActions.js +++ /dev/null @@ -1,1606 +0,0 @@ -import { - setCurrentActionsList, - setIsTrackingMoleculesRestoring, - setIsTrackingCompoundsRestoring, - setIsUndoRedoAction, - nglClearHistory -} from './actions'; -import { createInitAction } from './trackingActions'; -import { actionType, actionObjectType, NUM_OF_SECONDS_TO_IGNORE_MERGE } from './constants'; -import { VIEWS } from '../../../js/constants/constants'; -import { setCurrentVector, appendToBuyList } from '../selection/actions'; -import { - resetReducersForRestoringActions, - loadProteinOfRestoringActions -} from '../../components/preview/redux/dispatchActions'; -import { setCurrentProject } from '../../components/projects/redux/actions'; -import { - selectMoleculeGroup, - loadMoleculeGroupsOfTarget -} from '../../components/preview/moleculeGroups/redux/dispatchActions'; -import { loadTargetList } from '../../components/target/redux/dispatchActions'; -import { resetTargetState, setTargetOn } from '../api/actions'; -import { - addComplex, - addLigand, - addHitProtein, - addSurface, - addVector, - removeComplex, - removeLigand, - removeHitProtein, - removeSurface, - removeVector -} from '../../components/preview/molecule/redux/dispatchActions'; -import { colourList } from '../../components/preview/molecule/utils/color'; -import { - addDatasetComplex, - addDatasetLigand, - addDatasetHitProtein, - addDatasetSurface, - removeDatasetComplex, - removeDatasetLigand, - removeDatasetHitProtein, - removeDatasetSurface, - loadDataSets, - loadDatasetCompoundsWithScores -} from '../../components/datasets/redux/dispatchActions'; -import { - appendMoleculeToCompoundsOfDatasetToBuy, - setMoleculeListIsLoading -} from '../../components/datasets/redux/actions'; -import { getUrl, loadAllMolsFromMolGroup } from '../../../js/utils/genericList'; -import { addComponentRepresentation, updateComponentRepresentation } from '../../../js/reducers/ngl/actions'; -import * as listType from '../../constants/listTypes'; -import { assignRepresentationToComp } from '../../components/nglView/generatingObjects'; -import { setOrientation, restoreNglOrientation } from '../../../js/reducers/ngl/dispatchActions'; -import { - setSendActionsList, - setIsActionsSending, - setIsActionsLoading, - setActionsList, - setSnapshotImageActionList, - setUndoRedoActionList -} from './actions'; -import { api, METHOD } from '../../../js/utils/api'; -import { base_url } from '../../components/routes/constants'; -import { CONSTANTS } from '../../../js/constants/constants'; -import moment from 'moment'; -import { - appendToSendActionList, - setProjectActionList, - setIsActionsSaving, - setIsActionsRestoring, - resetTrackingState, - setIsActionTracking -} from './actions'; -import { setSelectedAll, setSelectedAllByType } from '../../../js/reducers/selection/actions'; -import { - setSelectedAll as setSelectedAllOfDataset, - setSelectedAllByType as setSelectedAllByTypeOfDataset -} from '../../components/datasets/redux/actions'; -import { addSelectedTag, loadMoleculesAndTagsNew } from '../../components/preview/tags/redux/dispatchActions'; - -export const addCurrentActionsListToSnapshot = (snapshot, project, nglViewList) => async dispatch => { - let projectID = project && project.projectID; - let actionList = await dispatch(getTrackingActions(projectID)); - - await dispatch(setSnapshotToActions(actionList, snapshot, projectID, project, nglViewList, true)); -}; - -export const saveCurrentActionsList = (snapshot, project, nglViewList, all = false) => async dispatch => { - let projectID = project && project.projectID; - let actionList = await dispatch(getTrackingActions(projectID)); - - if (all === false) { - dispatch(setSnapshotToActions(actionList, snapshot, projectID, project, nglViewList, false)); - } else { - dispatch(setSnapshotToAllActions(actionList, snapshot, projectID)); - } - await dispatch(saveActionsList(project, snapshot, actionList, nglViewList)); -}; - -const saveActionsList = (project, snapshot, actionList, nglViewList) => async (dispatch, getState) => { - const state = getState(); - - const currentTargetOn = state.apiReducers.target_on; - const currentSites = state.selectionReducers.mol_group_selection; - const currentLigands = state.selectionReducers.fragmentDisplayList; - const currentProteins = state.selectionReducers.proteinList; - const currentComplexes = state.selectionReducers.complexList; - const currentSelectionAll = state.selectionReducers.moleculeAllSelection; - - const currentDatasetLigands = state.datasetsReducers.ligandLists; - const currentDatasetProteins = state.datasetsReducers.proteinLists; - const currentDatasetComplexes = state.datasetsReducers.complexLists; - const currentDatasetSelectionAll = state.datasetsReducers.moleculeAllSelection; - - const currentTargets = (currentTargetOn && [currentTargetOn]) || []; - - let orderedActionList = actionList.reverse((a, b) => a.timestamp - b.timestamp); - - let currentActions = []; - - getCurrentActionList(orderedActionList, actionType.TARGET_LOADED, getCollection(currentTargets), currentActions); - getCurrentActionList(orderedActionList, actionType.SITE_TURNED_ON, getCollection(currentSites), currentActions); - getCurrentActionList(orderedActionList, actionType.LIGAND_TURNED_ON, getCollection(currentLigands), currentActions); - - getCurrentActionListOfAllSelection( - orderedActionList, - actionType.ALL_TURNED_ON, - getCollection(currentSelectionAll), - currentActions, - getCollection(currentLigands), - getCollection(currentProteins), - getCollection(currentComplexes) - ); - - getCurrentActionListOfAllSelectionByType( - orderedActionList, - actionType.ALL_TURNED_ON_BY_TYPE, - 'ligand', - getCollection(currentLigands), - currentActions - ); - - getCurrentActionListOfAllSelectionByType( - orderedActionList, - actionType.ALL_TURNED_ON_BY_TYPE, - 'protein', - getCollection(currentProteins), - currentActions - ); - - getCurrentActionListOfAllSelectionByType( - orderedActionList, - actionType.ALL_TURNED_ON_BY_TYPE, - 'complex', - getCollection(currentComplexes), - currentActions - ); - - getCurrentActionListOfAllSelectionByTypeOfDataset( - orderedActionList, - actionType.ALL_TURNED_ON_BY_TYPE, - 'ligand', - getCollectionOfDataset(currentDatasetLigands), - currentActions - ); - - getCurrentActionListOfAllSelectionByTypeOfDataset( - orderedActionList, - actionType.ALL_TURNED_ON_BY_TYPE, - 'protein', - getCollectionOfDataset(currentDatasetProteins), - currentActions - ); - - getCurrentActionListOfAllSelectionByTypeOfDataset( - orderedActionList, - actionType.ALL_TURNED_ON_BY_TYPE, - 'complex', - getCollectionOfDataset(currentDatasetComplexes), - currentActions - ); - - getCurrentActionListOfAllSelection( - orderedActionList, - actionType.ALL_TURNED_ON, - getCollectionOfDataset(currentDatasetSelectionAll), - currentActions, - getCollectionOfDataset(currentDatasetLigands), - getCollectionOfDataset(currentDatasetProteins), - getCollectionOfDataset(currentDatasetComplexes) - ); - - getCurrentActionList( - orderedActionList, - actionType.SIDECHAINS_TURNED_ON, - getCollection(currentProteins), - currentActions - ); - const snapshotID = snapshot && snapshot.id; - if (snapshotID) { - const currentTargetOn = state.apiReducers.target_on; - const currentSites = state.selectionReducers.mol_group_selection; - const currentLigands = state.selectionReducers.fragmentDisplayList; - const currentProteins = state.selectionReducers.proteinList; - const currentComplexes = state.selectionReducers.complexList; - const currentSurfaces = state.selectionReducers.surfaceList; - const currentVectors = state.selectionReducers.vectorOnList; - const currentBuyList = state.selectionReducers.to_buy_list; - const currentVector = state.selectionReducers.currentVector; - const currentSelectionAll = state.selectionReducers.moleculeAllSelection; - - const currentDatasetLigands = state.datasetsReducers.ligandLists; - const currentDatasetProteins = state.datasetsReducers.proteinLists; - const currentDatasetComplexes = state.datasetsReducers.complexLists; - const currentDatasetSurfaces = state.datasetsReducers.surfaceLists; - const currentDatasetSelectionAll = state.datasetsReducers.moleculeAllSelection; - - const currentDatasetBuyList = state.datasetsReducers.compoundsToBuyDatasetMap; - const currentobjectsInView = state.nglReducers.objectsInView; - - const currentTargets = (currentTargetOn && [currentTargetOn]) || []; - const currentVectorSmiles = (currentVector && [currentVector]) || []; - - let orderedActionList = actionList.reverse((a, b) => a.timestamp - b.timestamp); - - let currentActions = []; - - getCurrentActionList(orderedActionList, actionType.TARGET_LOADED, getCollection(currentTargets), currentActions); - getCurrentActionList(orderedActionList, actionType.SITE_TURNED_ON, getCollection(currentSites), currentActions); - getCurrentActionList(orderedActionList, actionType.LIGAND_TURNED_ON, getCollection(currentLigands), currentActions); - - getCurrentActionList( - orderedActionList, - actionType.ALL_TURNED_ON, - getCollection(currentSelectionAll), - currentActions - ); - getCurrentActionList( - orderedActionList, - actionType.ALL_TURNED_ON, - getCollectionOfDataset(currentDatasetSelectionAll), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.SIDECHAINS_TURNED_ON, - getCollection(currentProteins), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.INTERACTIONS_TURNED_ON, - getCollection(currentComplexes), - currentActions - ); - getCurrentActionList( - orderedActionList, - actionType.SURFACE_TURNED_ON, - getCollection(currentSurfaces), - currentActions - ); - getCurrentActionList( - orderedActionList, - actionType.VECTORS_TURNED_ON, - getCollection(currentVectors), - currentActions - ); - getCurrentActionList( - orderedActionList, - actionType.VECTOR_SELECTED, - getCollection(currentVectorSmiles), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.MOLECULE_ADDED_TO_SHOPPING_CART, - getCollectionOfShoppingCart(currentBuyList), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.LIGAND_TURNED_ON, - getCollectionOfDataset(currentDatasetLigands), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.SIDECHAINS_TURNED_ON, - getCollectionOfDataset(currentDatasetProteins), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.INTERACTIONS_TURNED_ON, - getCollectionOfDataset(currentDatasetComplexes), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.SURFACE_TURNED_ON, - getCollectionOfDataset(currentDatasetSurfaces), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.COMPOUND_SELECTED, - getCollectionOfDataset(currentDatasetBuyList), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.REPRESENTATION_ADDED, - getCollectionOfDatasetOfRepresentation(currentobjectsInView), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.REPRESENTATION_UPDATED, - getCollectionOfDatasetOfRepresentation(currentobjectsInView), - currentActions - ); - - if (nglViewList) { - let nglStateList = nglViewList.map(nglView => { - return { id: nglView.id, orientation: nglView.stage.viewerControls.getOrientation() }; - }); - - let trackAction = { - type: actionType.NGL_STATE, - timestamp: Date.now(), - nglStateList: nglStateList - }; - - currentActions.push(Object.assign({ ...trackAction })); - } - - await dispatch(saveSnapshotAction(snapshot, project, currentActions)); - await dispatch(saveTrackingActions(currentActions, snapshotID)); - dispatch(setCurrentActionsList(currentActions)); - } -}; - -const saveSnapshotAction = (snapshot, project, currentActions) => async (dispatch, getState) => { - const state = getState(); - const trackingImageSource = state.nglTrackingReducers.trackingImageSource; - - let sendActions = []; - let snapshotAction = { - type: actionType.SNAPSHOT, - timestamp: Date.now(), - object_name: snapshot.title, - object_id: snapshot.id, - snapshotId: snapshot.id, - text: `Snapshot: ${snapshot.id} - ${snapshot.title}`, - image: trackingImageSource - }; - sendActions.push(snapshotAction); - currentActions.push(snapshotAction); - await dispatch(sendTrackingActions(sendActions, project)); -}; - -const setSnapshotToActions = ( - actionList, - snapshot, - projectID, - project, - nglViewList, - addToSnapshot -) => async dispatch => { - if (actionList && snapshot) { - let actionsWithoutSnapshot = actionList.filter(a => a.snapshotId === null || a.snapshotId === undefined); - let updatedActions = actionsWithoutSnapshot.map(obj => ({ ...obj, snapshotId: snapshot.id })); - dispatch(setAndUpdateTrackingActions(updatedActions, projectID)); - - if (addToSnapshot === true) { - await dispatch(saveActionsList(project, snapshot, updatedActions, nglViewList)); - } - } -}; - -const setSnapshotToAllActions = (actionList, snapshot, projectID) => async dispatch => { - if (actionList && snapshot) { - let updatedActions = actionList.map(obj => ({ ...obj, snapshotId: snapshot.id })); - dispatch(setAndUpdateTrackingActions(updatedActions, projectID)); - } -}; - -export const saveTrackingActions = (currentActions, snapshotID) => async (dispatch, getState) => { - const state = getState(); - const project = state.projectReducers.currentProject; - const projectID = project && project.projectID; - - if (snapshotID) { - dispatch(setIsActionsSaving(true)); - - const dataToSend = { - session_project: projectID, - author: project.authorID, - snapshot: snapshotID, - last_update_date: moment().format(), - actions: JSON.stringify(currentActions) - }; - return api({ - url: `${base_url}/api/snapshot-actions/`, - method: METHOD.POST, - data: JSON.stringify(dataToSend) - }) - .then(() => { - dispatch(setCurrentActionsList([])); - }) - .catch(error => { - throw new Error(error); - }) - .finally(() => { - dispatch(setIsActionsSaving(false)); - }); - } else { - return Promise.resolve(); - } -}; - -const getCurrentActionList = (orderedActionList, type, collection, currentActions) => { - let actionList = orderedActionList.filter(action => action.type === type); - - if (collection) { - collection.forEach(data => { - let action = actionList.find(action => action.object_id === data.id && action.dataset_id === data.datasetId); - - if (action) { - currentActions.push(Object.assign({ ...action })); - } - }); - } -}; - -const getCurrentActionListOfAllSelection = ( - orderedActionList, - type, - collection, - currentActions, - ligandList, - proteinList, - complexList -) => { - let actionList = orderedActionList.filter(action => action.type === type); - - if (collection) { - collection.forEach(data => { - let action = actionList.find(action => action.object_id === data.id && action.dataset_id === data.datasetId); - - if (action) { - let ligandAction = ligandList.find( - data => data.id === action.object_id && action.dataset_id === data.datasetId - ); - let proteinAction = proteinList.find( - data => data.id === action.object_id && action.dataset_id === data.datasetId - ); - let complexAction = complexList.find( - data => data.id === action.object_id && action.dataset_id === data.datasetId - ); - - let isLigand = ligandAction && ligandAction != null ? true : false; - let isProtein = proteinAction && proteinAction != null ? true : false; - let isComplex = complexAction && complexAction != null ? true : false; - currentActions.push( - Object.assign({ ...action, isLigand: isLigand, isProtein: isProtein, isComplex: isComplex }) - ); - } - }); - } -}; - -const getCurrentActionListOfAllSelectionByType = (orderedActionList, type, controlType, collection, currentActions) => { - let action = orderedActionList.find( - action => - action.type === type && - action.control_type === controlType && - (action.object_type === actionObjectType.MOLECULE || action.object_type === actionObjectType.INSPIRATION) - ); - if (action && collection) { - let actionItems = action.items; - let items = []; - collection.forEach(data => { - let item = actionItems.find(action => action.id === data.id && action.dataset_id === data.datasetId); - if (item) { - items.push(item); - } - }); - - currentActions.push(Object.assign({ ...action, items: items })); - } -}; - -const getCurrentActionListOfAllSelectionByTypeOfDataset = ( - orderedActionList, - type, - controlType, - collection, - currentActions -) => { - let action = orderedActionList.find( - action => - action.type === type && - action.control_type === controlType && - (action.object_type === actionObjectType.COMPOUND || action.object_type === actionObjectType.CROSS_REFERENCE) - ); - if (action && collection) { - let actionItems = action.items; - let items = []; - collection.forEach(data => { - let item = actionItems.find(item => item.molecule.id === data.id && item.datasetID === data.datasetId); - if (item) { - items.push(item); - } - }); - - currentActions.push(Object.assign({ ...action, items: items })); - } -}; - -const getCollection = dataList => { - let list = []; - if (dataList) { - var result = dataList.map(value => ({ id: value })); - list.push(...result); - } - return list; -}; - -const getCollectionOfDataset = dataList => { - let list = []; - if (dataList) { - for (const datasetId in dataList) { - let values = dataList[datasetId]; - if (values) { - var result = values.map(value => ({ id: value, datasetId: datasetId })); - list.push(...result); - } - } - } - return list; -}; - -const getCollectionOfShoppingCart = dataList => { - let list = []; - if (dataList) { - dataList.forEach(data => { - let value = data.vector; - if (value) { - list.push({ id: value }); - } - }); - } - return list; -}; - -const getCollectionOfDatasetOfRepresentation = dataList => { - let list = []; - for (const view in dataList) { - let objectView = dataList[view]; - if (objectView && objectView !== null && objectView.display_div === VIEWS.MAJOR_VIEW) { - let value = dataList[view].name; - if (value) { - list.push({ id: value }); - } - } - } - return list; -}; - -export const resetRestoringState = () => dispatch => { - dispatch(setActionsList([])); - dispatch(setProjectActionList([])); - dispatch(setSendActionsList([])); - - dispatch(setTargetOn(undefined)); - dispatch(setIsActionsRestoring(false, false)); -}; - -export const restoreCurrentActionsList = snapshotID => async dispatch => { - dispatch(resetTrackingState()); - dispatch(setIsActionsRestoring(true, false)); - - await dispatch(restoreTrackingActions(snapshotID)); - dispatch(setIsTrackingMoleculesRestoring(true)); - dispatch(setIsTrackingCompoundsRestoring(true)); - dispatch(resetTargetState()); - dispatch(resetReducersForRestoringActions()); - dispatch(restoreStateBySavedActionList()); -}; - -const restoreTrackingActions = snapshotID => async dispatch => { - if (snapshotID) { - try { - const response = await api({ - url: `${base_url}/api/snapshot-actions/?snapshot=${snapshotID}` - }); - let results = response.data.results; - let listToSet = []; - results.forEach(r => { - let resultActions = JSON.parse(r.actions); - listToSet.push(...resultActions); - }); - - let snapshotActions = [...listToSet]; - dispatch(setCurrentActionsList(snapshotActions)); - } catch (error) { - throw new Error(error); - } - } else { - return Promise.resolve(); - } -}; - -const restoreStateBySavedActionList = () => (dispatch, getState) => { - const state = getState(); - - const currentActionList = state.nglTrackingReducers.current_actions_list; - const orderedActionList = currentActionList.sort((a, b) => a.timestamp - b.timestamp); - - let onCancel = () => {}; - dispatch(loadTargetList(onCancel)) - .then(() => dispatch(restoreTargetActions(orderedActionList))) - .catch(error => { - throw new Error(error); - }); - return () => { - onCancel(); - }; -}; - -const restoreTargetActions = orderedActionList => (dispatch, getState) => { - const state = getState(); - - let targetAction = orderedActionList.find(action => action.type === actionType.TARGET_LOADED); - if (targetAction) { - let target = getTarget(targetAction.object_name, state); - if (target) { - dispatch(setTargetOn(target.id)); - } - } -}; - -export const restoreAfterTargetActions = (stages, projectId) => async (dispatch, getState) => { - const state = getState(); - - const currentActionList = state.nglTrackingReducers.current_actions_list; - const orderedActionList = currentActionList.sort((a, b) => a.timestamp - b.timestamp); - const targetId = state.apiReducers.target_on; - - if (targetId && stages && stages.length > 0) { - const majorView = stages.find(view => view.id === VIEWS.MAJOR_VIEW); - // const summaryView = stages.find(view => view.id === VIEWS.SUMMARY_VIEW); - - await dispatch(loadProteinOfRestoringActions({ nglViewList: stages })); - - await dispatch( - loadMoleculeGroupsOfTarget({ - isStateLoaded: false, - setOldUrl: () => {}, - target_on: targetId - }) - ) - .catch(error => { - throw error; - }) - .finally(() => {}); - - await dispatch(restoreSitesActions(orderedActionList, null)); - await dispatch(loadData(orderedActionList, targetId, majorView)); - await dispatch(restoreActions(orderedActionList, majorView.stage)); - await dispatch(restoreRepresentationActions(orderedActionList, stages)); - await dispatch(restoreProject(projectId)); - dispatch(restoreSnapshotImageActions(projectId)); - dispatch(restoreNglStateAction(orderedActionList, stages)); - dispatch(setIsActionsRestoring(false, true)); - } -}; - -const restoreNglStateAction = (orderedActionList, stages) => (dispatch, getState) => { - const state = getState(); - const skipOrientation = state.trackingReducers.skipOrientationChange; - - if (!skipOrientation) { - let actions = orderedActionList.filter(action => action.type === actionType.NGL_STATE); - let action = [...actions].pop(); - if (action && action.nglStateList) { - action.nglStateList.forEach(nglView => { - dispatch(setOrientation(nglView.id, nglView.orientation)); - let viewStage = stages.find(s => s.id === nglView.id); - if (viewStage) { - console.count(`Before restoring orientation - restoreNglStateAction - nglTracking`); - viewStage.stage.viewerControls.orient(nglView.orientation.elements); - console.count(`After restoring orientation - restoreNglStateAction - nglTracking`); - } - }); - } - } -}; - -const restoreActions = (orderedActionList, stage) => dispatch => { - dispatch(restoreMoleculesActions(orderedActionList, stage)); -}; - -const loadData = (orderedActionList, targetId, majorView) => async dispatch => { - await dispatch(loadAllMolecules(targetId)); - await dispatch(loadAllDatasets(orderedActionList, targetId, majorView.stage)); -}; - -const loadAllDatasets = (orderedActionList, target_on, stage) => async dispatch => { - dispatch(setMoleculeListIsLoading(true)); - - await dispatch(loadDataSets(target_on)); - await dispatch(loadDatasetCompoundsWithScores()); - dispatch(setMoleculeListIsLoading(false)); - - dispatch(restoreCompoundsActions(orderedActionList, stage)); -}; - -const loadAllMolecules = target_on => async (dispatch, getState) => { - await dispatch(loadMoleculesAndTagsNew(target_on)); -}; - -const restoreSitesActions = (orderedActionList, summaryView) => (dispatch, getState) => { - const state = getState(); - - let sitesAction = orderedActionList.filter(action => action.type === actionType.SITE_TURNED_ON); - if (sitesAction && summaryView) { - sitesAction.forEach(action => { - const tag = getTag(action.object_id, state); - if (tag) { - dispatch(addSelectedTag(tag)); - } - }); - } -}; - -const getTag = (tagId, state) => { - const tagList = state.apiReducers.tagList; - const tag = tagList.find(t => t.id === tagId); - return tag; -}; - -const restoreMoleculesActions = (orderedActionList, stage) => (dispatch, getState) => { - const state = getState(); - let moleculesAction = orderedActionList.filter( - action => action.object_type === actionObjectType.MOLECULE || action.object_type === actionObjectType.INSPIRATION - ); - - if (moleculesAction) { - dispatch(addNewType(moleculesAction, actionType.LIGAND_TURNED_ON, 'ligand', stage, state)); - dispatch(addNewType(moleculesAction, actionType.SIDECHAINS_TURNED_ON, 'protein', stage, state)); - dispatch(addNewType(moleculesAction, actionType.INTERACTIONS_TURNED_ON, 'complex', stage, state)); - dispatch(addNewType(moleculesAction, actionType.SURFACE_TURNED_ON, 'surface', stage, state)); - dispatch(addNewType(moleculesAction, actionType.VECTORS_TURNED_ON, 'vector', stage, state)); - } - - let vectorAction = orderedActionList.find(action => action.type === actionType.VECTOR_SELECTED); - if (vectorAction) { - dispatch(setCurrentVector(vectorAction.object_name)); - } - - dispatch(restoreCartActions(moleculesAction)); - dispatch(restoreAllSelectionActions(orderedActionList, stage, true)); - dispatch(restoreAllSelectionByTypeActions(orderedActionList, stage, true)); - dispatch(setIsTrackingMoleculesRestoring(false)); -}; - -const restoreCartActions = moleculesAction => dispatch => { - let shoppingCartActions = moleculesAction.filter( - action => action.type === actionType.MOLECULE_ADDED_TO_SHOPPING_CART - ); - if (shoppingCartActions) { - shoppingCartActions.forEach(action => { - let data = action.item; - if (data) { - dispatch(appendToBuyList(data)); - } - }); - } -}; - -const restoreAllSelectionActions = (moleculesAction, stage, isSelection) => (dispatch, getState) => { - let state = getState(); - - let actions = - isSelection === true - ? moleculesAction.filter( - action => - action.type === actionType.ALL_TURNED_ON && - (action.object_type === actionObjectType.INSPIRATION || action.object_type === actionObjectType.MOLECULE) - ) - : moleculesAction.filter( - action => - action.type === actionType.ALL_TURNED_ON && - (action.object_type === actionObjectType.CROSS_REFERENCE || - action.object_type === actionObjectType.COMPOUND) - ); - - if (actions) { - actions.forEach(action => { - if (action) { - if (isSelection) { - dispatch(setSelectedAll(action.item, action.isLigand, action.isProtein, action.isComplex)); - } else { - dispatch( - setSelectedAllOfDataset(action.dataset_id, action.item, action.isLigand, action.isProtein, action.isComplex) - ); - } - - if (action.isLigand) { - dispatch(handleMoleculeAction(action, 'ligand', true, stage, state, true)); - } - - if (action.isProtein) { - dispatch(handleMoleculeAction(action, 'protein', true, stage, state, true)); - } - - if (action.isComplex) { - dispatch(handleMoleculeAction(action, 'complex', true, stage, state, true)); - } - } - }); - } -}; - -const restoreAllSelectionByTypeActions = (moleculesAction, stage, isSelection) => dispatch => { - let actions = - isSelection === true - ? moleculesAction.filter( - action => - action.type === actionType.ALL_TURNED_ON_BY_TYPE && - (action.object_type === actionObjectType.INSPIRATION || action.object_type === actionObjectType.MOLECULE) - ) - : moleculesAction.filter( - action => - action.type === actionType.ALL_TURNED_ON_BY_TYPE && - (action.object_type === actionObjectType.CROSS_REFERENCE || - action.object_type === actionObjectType.COMPOUND) - ); - - if (actions) { - actions.forEach(action => { - if (action) { - let actionItems = action.items; - let type = action.control_type; - - if (isSelection) { - dispatch(setSelectedAllByType(type, actionItems, action.object_type === actionObjectType.INSPIRATION)); - - actionItems.forEach(data => { - if (data) { - if (type === 'ligand') { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, true)); - } else { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true)); - } - } - }); - } else { - dispatch( - setSelectedAllByTypeOfDataset( - type, - action.dataset_id, - actionItems, - action.object_type === actionObjectType.CROSS_REFERENCE - ) - ); - - actionItems.forEach(data => { - if (data && data.molecule) { - dispatch( - addTypeCompound[type]( - stage, - data.molecule, - colourList[data.molecule.id % colourList.length], - data.datasetID, - true - ) - ); - } - }); - } - } - }); - } -}; - -const restoreRepresentationActions = (moleculesAction, stages) => dispatch => { - const nglView = stages.find(view => view.id === VIEWS.MAJOR_VIEW); - - let representationsActions = moleculesAction.filter(action => action.type === actionType.REPRESENTATION_ADDED); - if (representationsActions) { - representationsActions.forEach(action => { - dispatch(addRepresentation(action.object_id, action.representation, nglView)); - }); - } - - let representationsChangesActions = moleculesAction.filter( - action => action.type === actionType.REPRESENTATION_UPDATED - ); - if (representationsChangesActions) { - representationsChangesActions.forEach(action => { - dispatch(updateRepresentation(true, action.change, action.object_id, action.representation, nglView)); - }); - } -}; - -const restoreSnapshotImageActions = projectID => async dispatch => { - let actionList = await dispatch(getTrackingActions(projectID)); - - let snapshotActions = actionList.filter(action => action.type === actionType.SNAPSHOT); - if (snapshotActions) { - let actions = snapshotActions.map(s => { - return { id: s.object_id, image: s.image, title: s.object_name, timestamp: s.timestamp }; - }); - const key = 'object_id'; - const arrayUniqueByKey = [...new Map(actions.map(item => [item[key], item])).values()]; - dispatch(setSnapshotImageActionList(arrayUniqueByKey)); - } -}; - -const restoreProject = projectId => dispatch => { - if (projectId !== undefined) { - return api({ url: `${base_url}/api/session-projects/${projectId}/` }).then(response => { - let promises = []; - promises.push( - dispatch( - setCurrentProject({ - projectID: response.data.id, - authorID: response.data.author || null, - title: response.data.title, - description: response.data.description, - targetID: response.data.target.id, - tags: JSON.parse(response.data.tags) - }) - ) - ); - return Promise.all(promises); - }); - } -}; - -const restoreCompoundsActions = (orderedActionList, stage) => (dispatch, getState) => { - const state = getState(); - - let compoundsAction = orderedActionList.filter( - action => - action.object_type === actionObjectType.COMPOUND || action.object_type === actionObjectType.CROSS_REFERENCE - ); - - if (compoundsAction) { - dispatch(addNewTypeCompound(compoundsAction, actionType.LIGAND_TURNED_ON, 'ligand', stage, state)); - dispatch(addNewTypeCompound(compoundsAction, actionType.SIDECHAINS_TURNED_ON, 'protein', stage, state)); - dispatch(addNewTypeCompound(compoundsAction, actionType.INTERACTIONS_TURNED_ON, 'complex', stage, state)); - dispatch(addNewTypeCompound(compoundsAction, actionType.SURFACE_TURNED_ON, 'surface', stage, state)); - } - - let compoundsSelectedAction = compoundsAction.filter(action => action.type === actionType.COMPOUND_SELECTED); - - compoundsSelectedAction.forEach(action => { - let data = getCompound(action, state); - if (data) { - dispatch(appendMoleculeToCompoundsOfDatasetToBuy(action.dataset_id, data.id, data.name)); - } - }); - - dispatch(restoreAllSelectionActions(orderedActionList, stage, false)); - dispatch(restoreAllSelectionByTypeActions(orderedActionList, stage, false)); - dispatch(setIsTrackingCompoundsRestoring(false)); -}; - -const addType = { - ligand: addLigand, - protein: addHitProtein, - complex: addComplex, - surface: addSurface, - vector: addVector -}; - -const addTypeCompound = { - ligand: addDatasetLigand, - protein: addDatasetHitProtein, - complex: addDatasetComplex, - surface: addDatasetSurface -}; - -const addNewType = (moleculesAction, actionType, type, stage, state, skipTracking = false) => dispatch => { - let actions = moleculesAction.filter(action => action.type === actionType); - if (actions) { - actions.forEach(action => { - let data = getMolecule(action.object_name, state); - if (data) { - if (type === 'ligand') { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, skipTracking)); - } else { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], skipTracking)); - } - } - }); - } -}; - -const addNewTypeOfAction = (action, type, stage, state, skipTracking = false) => dispatch => { - if (action) { - let data = getMolecule(action.object_name, state); - if (data) { - if (type === 'ligand') { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, skipTracking)); - } else { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], skipTracking)); - } - } - } -}; - -const addNewTypeCompound = (moleculesAction, actionType, type, stage, state, skipTracking = false) => dispatch => { - let actions = moleculesAction.filter(action => action.type === actionType); - if (actions) { - actions.forEach(action => { - let data = getCompound(action, state); - if (data) { - dispatch( - addTypeCompound[type](stage, data, colourList[data.id % colourList.length], action.dataset_id, skipTracking) - ); - } - }); - } -}; - -const addNewTypeCompoundOfAction = (action, type, stage, state, skipTracking = false) => dispatch => { - if (action) { - let data = getCompound(action, state); - if (data) { - dispatch( - addTypeCompound[type](stage, data, colourList[data.id % colourList.length], action.dataset_id, skipTracking) - ); - } - } -}; - -const getTarget = (targetName, state) => { - let targetList = state.apiReducers.target_id_list; - let target = targetList.find(target => target.title === targetName); - return target; -}; - -const getMolGroup = (molGroupName, state) => { - let molGroupList = state.apiReducers.mol_group_list; - let molGroup = molGroupList.find(group => group.description === molGroupName); - return molGroup; -}; - -const getMolecule = (moleculeName, state) => { - let moleculeList = state.apiReducers.all_mol_lists; - let molecule = null; - - molecule = moleculeList.find(m => m.code === moleculeName); - - return molecule; -}; - -const getCompound = (action, state) => { - let moleculeList = state.datasetsReducers.moleculeLists; - let molecule = null; - - let name = action.object_name; - let datasetID = action.dataset_id; - - if (moleculeList) { - let moleculeListOfDataset = moleculeList[datasetID]; - if (moleculeListOfDataset) { - molecule = moleculeListOfDataset.find(m => m.name === name); - } - } - return molecule; -}; - -export const undoAction = (stages = []) => dispatch => { - dispatch(setIsUndoRedoAction(true)); - let action = dispatch(getUndoAction()); - if (action) { - Promise.resolve(dispatch(handleUndoAction(action, stages))).then(() => { - dispatch(setIsUndoRedoAction(false)); - }); - } -}; - -const getUndoAction = () => (dispatch, getState) => { - const state = getState(); - const actionUndoList = state.undoableNglTrackingReducers.future; - - let action = { text: '' }; - let actions = actionUndoList && actionUndoList[0]; - if (actions) { - let actionsLenght = actions.undo_redo_actions_list.length; - actionsLenght = actionsLenght > 0 ? actionsLenght - 1 : actionsLenght; - action = actions.undo_redo_actions_list[actionsLenght]; - } - - return action; -}; - -const getRedoAction = () => (dispatch, getState) => { - const state = getState(); - const actions = state.undoableNglTrackingReducers.present; - - let action = { text: '' }; - if (actions) { - let actionsLenght = actions.undo_redo_actions_list.length; - actionsLenght = actionsLenght > 0 ? actionsLenght - 1 : actionsLenght; - action = actions.undo_redo_actions_list[actionsLenght]; - } - - return action; -}; - -const getNextUndoAction = () => (dispatch, getState) => { - const state = getState(); - const actionUndoList = state.undoableNglTrackingReducers.present; - - let action = { text: '' }; - let actions = actionUndoList && actionUndoList.undo_redo_actions_list; - if (actions) { - let actionsLenght = actions.length; - actionsLenght = actionsLenght > 0 ? actionsLenght - 1 : actionsLenght; - action = actions[actionsLenght]; - } - - return action; -}; - -const getNextRedoAction = () => (dispatch, getState) => { - const state = getState(); - const actionUndoList = state.undoableNglTrackingReducers.future; - - let action = { text: '' }; - let actionss = actionUndoList && actionUndoList[0]; - - let actions = actionss && actionss.undo_redo_actions_list; - if (actions) { - let actionsLenght = actions.length; - actionsLenght = actionsLenght > 0 ? actionsLenght - 1 : actionsLenght; - action = actions[actionsLenght]; - } - - return action; -}; - -export const redoAction = (stages = []) => dispatch => { - dispatch(setIsUndoRedoAction(true)); - let action = dispatch(getRedoAction()); - if (action) { - Promise.resolve(dispatch(dispatch(handleRedoAction(action, stages)))).then(() => { - dispatch(setIsUndoRedoAction(false)); - }); - } -}; - -const handleUndoAction = (action, stages) => (dispatch, getState) => { - if (action) { - const type = action.type; - switch (type) { - case actionType.ORIENTATION: - dispatch(restoreNglOrientation(action.oldSetting, action.newSetting, action.div_id, stages)); - break; - default: - break; - } - } -}; - -const handleRedoAction = (action, stages) => (dispatch, getState) => { - if (action) { - const type = action.type; - switch (type) { - case actionType.ORIENTATION: - dispatch(restoreNglOrientation(action.newSetting, action.oldSetting, action.div_id, stages)); - break; - default: - break; - } - } -}; - -const addRepresentation = (action, parentKey, representation, nglView, update, skipTracking = false) => dispatch => { - const oldRepresentation = representation; - const newRepresentationType = oldRepresentation.type; - const comp = nglView.stage.getComponentsByName(parentKey).first; - const newRepresentation = assignRepresentationToComp( - newRepresentationType, - oldRepresentation.params, - comp, - oldRepresentation.lastKnownID - ); - action.representation = newRepresentation; - if (update === true) { - action.newRepresentation = newRepresentation; - } else { - action.oldRepresentation = newRepresentation; - } - dispatch(addComponentRepresentation(parentKey, newRepresentation, skipTracking)); -}; - -const updateRepresentation = (isAdd, change, parentKey, representation, nglView) => dispatch => { - const comp = nglView.stage.getComponentsByName(parentKey).first; - const r = comp.reprList.find(rep => rep.uuid === representation.uuid || rep.uuid === representation.lastKnownID); - if (r && change) { - let key = change.key; - let value = isAdd ? change.value : change.oldValue; - - r.setParameters({ [key]: value }); - representation.params[key] = value; - - dispatch(updateComponentRepresentation(parentKey, representation.uuid, representation)); - } -}; - -const handleMoleculeAction = (action, type, isAdd, stage, state, skipTracking) => dispatch => { - if (action.object_type === actionObjectType.MOLECULE || action.object_type === actionObjectType.INSPIRATION) { - if (isAdd) { - dispatch(addNewTypeOfAction(action, type, stage, state, skipTracking)); - } else { - dispatch(removeNewType(action, type, stage, state, skipTracking)); - } - } else if ( - action.object_type === actionObjectType.COMPOUND || - action.object_type === actionObjectType.CROSS_REFERENCE - ) { - if (isAdd) { - dispatch(addNewTypeCompoundOfAction(action, type, stage, state, skipTracking)); - } else { - dispatch(removeNewTypeCompound(action, type, stage, state, skipTracking)); - } - } -}; - -const removeType = { - ligand: removeLigand, - protein: removeHitProtein, - complex: removeComplex, - surface: removeSurface, - vector: removeVector -}; - -const removeTypeCompound = { - ligand: removeDatasetLigand, - protein: removeDatasetHitProtein, - complex: removeDatasetComplex, - surface: removeDatasetSurface -}; - -const removeNewType = (action, type, stage, state, skipTracking) => dispatch => { - if (action) { - let data = getMolecule(action.object_name, state); - if (data) { - if (type === 'ligand') { - dispatch(removeType[type](stage, data, skipTracking)); - } else { - dispatch(removeType[type](stage, data, colourList[data.id % colourList.length], skipTracking)); - } - } - } -}; - -const removeNewTypeCompound = (action, type, stage, state, skipTracking) => dispatch => { - if (action) { - let data = getCompound(action, state); - if (data) { - dispatch( - removeTypeCompound[type](stage, data, colourList[data.id % colourList.length], action.dataset_id, skipTracking) - ); - } - } -}; - -export const getUndoActionText = () => dispatch => { - let action = dispatch(getNextUndoAction()); - return action?.text ?? ''; -}; - -export const getRedoActionText = () => dispatch => { - let action = dispatch(getNextRedoAction()); - return action?.text ?? ''; -}; - -export const appendAndSendTrackingActions = trackAction => (dispatch, getState) => { - const state = getState(); - const isUndoRedoAction = state.nglTrackingReducers.isUndoRedoAction; - dispatch(setIsActionTracking(true)); - - if (trackAction && trackAction !== null) { - const actionList = state.nglTrackingReducers.track_actions_list; - const sendActionList = state.nglTrackingReducers.send_actions_list; - const mergedActionList = mergeActions(trackAction, [...actionList]); - const mergedSendActionList = mergeActions(trackAction, [...sendActionList]); - dispatch(setActionsList(mergedActionList)); - dispatch(setSendActionsList(mergedSendActionList)); - - if (isUndoRedoAction === false) { - const undoRedoActionList = state.nglTrackingReducers.undo_redo_actions_list; - const mergedUndoRedoActionList = mergeActions(trackAction, [...undoRedoActionList]); - dispatch(setUndoRedoActionList(mergedUndoRedoActionList)); - } - } - dispatch(setIsActionTracking(false)); - dispatch(checkSendTrackingActions()); -}; - -export const mergeActions = (trackAction, list) => { - return [...list, trackAction]; -}; - -export const manageSendTrackingActions = (projectID, copy) => dispatch => { - if (copy) { - dispatch(checkActionsProject(projectID)); - } else { - dispatch(checkSendTrackingActions(true)); - } -}; - -export const checkSendTrackingActions = (save = false) => (dispatch, getState) => { - const state = getState(); - const currentProject = state.projectReducers.currentProject; - const sendActions = state.nglTrackingReducers.send_actions_list; - const length = sendActions.length; - - if (length >= CONSTANTS.COUNT_SEND_TRACK_ACTIONS || save) { - dispatch(sendTrackingActions(sendActions, currentProject)); - } -}; - -const sendTrackingActions = (sendActions, project, clear = true) => async dispatch => { - if (project) { - const projectID = project && project.projectID; - - if (projectID && sendActions && sendActions.length > 0) { - dispatch(setIsActionsSending(true)); - - const dataToSend = { - session_project: projectID, - author: project.authorID, - last_update_date: moment().format(), - actions: JSON.stringify(sendActions) - }; - return api({ - url: `${base_url}/api/session-actions/`, - method: METHOD.POST, - data: JSON.stringify(dataToSend) - }) - .then(() => { - if (clear === true) { - dispatch(setSendActionsList([])); - } - }) - .catch(error => { - throw new Error(error); - }) - .finally(() => { - dispatch(setIsActionsSending(false)); - }); - } else { - return Promise.resolve(); - } - } else { - return Promise.resolve(); - } -}; - -export const setProjectTrackingActions = () => (dispatch, getState) => { - const state = getState(); - const currentProject = state.projectReducers.currentProject; - const projectID = currentProject && currentProject.projectID; - dispatch(setProjectActionList([])); - dispatch(getTrackingActions(projectID, true)); -}; - -const getTrackingActions = (projectID, withTreeSeparation) => (dispatch, getState) => { - const state = getState(); - const sendActions = state.nglTrackingReducers.send_actions_list; - - if (projectID) { - dispatch(setIsActionsLoading(true)); - return api({ - url: `${base_url}/api/session-actions/?session_project=${projectID}` - }) - .then(response => { - let results = response.data.results; - let listToSet = []; - results.forEach(r => { - let resultActions = JSON.parse(r.actions); - let actions = resultActions.map(obj => ({ ...obj, actionId: r.id })); - listToSet.push(...actions); - }); - - if (withTreeSeparation === true) { - listToSet = dispatch(separateTrackkingActionBySnapshotTree(listToSet)); - - let actionsWithoutSnapshot = listToSet.filter(action => action.type !== actionType.SNAPSHOT); - let snapshotActions = listToSet.filter(action => action.type === actionType.SNAPSHOT); - if (snapshotActions) { - const key = 'object_id'; - const arrayUniqueByKey = [...new Map(snapshotActions.map(item => [item[key], item])).values()]; - actionsWithoutSnapshot.push(...arrayUniqueByKey); - listToSet = actionsWithoutSnapshot; - } - } - - let projectActions = [...listToSet, ...sendActions]; - dispatch(setProjectActionList(projectActions)); - return Promise.resolve(projectActions); - }) - .catch(error => { - throw new Error(error); - }) - .finally(() => { - dispatch(setIsActionsLoading(false)); - }); - } else { - let projectActions = [...sendActions]; - dispatch(setProjectActionList(projectActions)); - return Promise.resolve(projectActions); - } -}; - -const separateTrackkingActionBySnapshotTree = actionList => (dispatch, getState) => { - const state = getState(); - const snapshotID = state.projectReducers.currentSnapshot && state.projectReducers.currentSnapshot.id; - const currentSnapshotTree = state.projectReducers.currentSnapshotTree; - const currentSnapshotList = state.projectReducers.currentSnapshotList; - - if (snapshotID && currentSnapshotTree != null) { - let treeActionList = []; - let snapshotIdList = []; - snapshotIdList.push(currentSnapshotTree.id); - - if (currentSnapshotList != null) { - for (const id in currentSnapshotList) { - let snapshot = currentSnapshotList[id]; - let snapshotChildren = snapshot.children; - - if ( - (snapshotChildren && snapshotChildren !== null && snapshotChildren.includes(snapshotID)) || - snapshot.id === snapshotID - ) { - snapshotIdList.push(snapshot.id); - } - } - } - - treeActionList = actionList.filter( - a => snapshotIdList.includes(a.snapshotId) || a.snapshotId === null || a.snapshotId === undefined - ); - return treeActionList; - } else { - return actionList; - } -}; - -const checkActionsProject = projectID => async (dispatch, getState) => { - const state = getState(); - const currentProject = state.projectReducers.currentProject; - const currentProjectID = currentProject && currentProject.projectID; - - await dispatch(getTrackingActions(projectID)); - await dispatch( - copyActionsToProject(currentProject, true, currentProjectID && currentProjectID != null ? true : false) - ); -}; - -const copyActionsToProject = (toProject, setActionList = true, clearSendList = true) => async (dispatch, getState) => { - const state = getState(); - const actionList = state.nglTrackingReducers.project_actions_list; - - if (toProject) { - let newActionsList = []; - - actionList.forEach(r => { - newActionsList.push(Object.assign({ ...r })); - }); - - if (setActionList === true) { - dispatch(setActionsList(newActionsList)); - } - await dispatch(sendTrackingActions(newActionsList, toProject, clearSendList)); - } -}; - -export const sendTrackingActionsByProjectId = (projectID, authorID) => async (dispatch, getState) => { - const state = getState(); - const currentProject = state.projectReducers.currentProject; - const currentProjectID = currentProject && currentProject.projectID; - - const project = { projectID, authorID }; - - await dispatch(getTrackingActions(currentProjectID)); - await dispatch(copyActionsToProject(project, false, currentProjectID && currentProjectID != null ? true : false)); -}; - -export const sendInitTrackingActionByProjectId = target_on => (dispatch, getState) => { - const state = getState(); - const snapshotID = state.projectReducers.currentSnapshot && state.projectReducers.currentSnapshot.id; - - let trackAction = dispatch(createInitAction(target_on)); - if (trackAction && trackAction != null) { - let actions = []; - actions.push(trackAction); - dispatch(appendToSendActionList(trackAction)); - dispatch(checkSendTrackingActions(true)); - dispatch(saveTrackingActions(actions, snapshotID)); - } -}; - -export const updateTrackingActions = action => (dispatch, getState) => { - const state = getState(); - const project = state.projectReducers.currentProject; - const projectActions = state.nglTrackingReducers.project_actions_list; - const projectID = project && project.projectID; - let actionID = action && action.actionId; - - if (projectID && actionID && projectActions) { - let actions = projectActions.filter(a => a.actionId === actionID); - - if (actions && actions.length > 0) { - const dataToSend = { - session_action_id: actionID, - session_project: projectID, - author: project.authorID, - last_update_date: moment().format(), - actions: JSON.stringify(actions) - }; - return api({ - url: `${base_url}/api/session-actions/${actionID}/`, - method: METHOD.PUT, - data: JSON.stringify(dataToSend) - }) - .then(() => {}) - .catch(error => { - throw new Error(error); - }) - .finally(() => {}); - } else { - return Promise.resolve(); - } - } else { - return Promise.resolve(); - } -}; - -function groupArrayOfObjects(list, key) { - return list.reduce(function(rv, x) { - (rv[x[key]] = rv[x[key]] || []).push(x); - return rv; - }, {}); -} - -export const setAndUpdateTrackingActions = (actionList, projectID) => () => { - if (projectID) { - const groupBy = groupArrayOfObjects(actionList, 'actionId'); - - for (const group in groupBy) { - let actionID = group; - let actions = groupBy[group]; - if (actionID && actions && actions.length > 0) { - const dataToSend = { - session_action_id: actionID, - session_project: projectID, - last_update_date: moment().format(), - actions: JSON.stringify(actions) - }; - return api({ - url: `${base_url}/api/session-actions/${actionID}/`, - method: METHOD.PUT, - data: JSON.stringify(dataToSend) - }) - .then(() => {}) - .catch(error => { - throw new Error(error); - }) - .finally(() => {}); - } else { - return Promise.resolve(); - } - } - } else { - return Promise.resolve(); - } -}; - -export const resetNglTrackingState = () => (dispatch, getState) => { - dispatch(resetTrackingState()); - dispatch(nglClearHistory()); -}; diff --git a/js/reducers/nglTracking/nglTrackingMiddleware.js b/js/reducers/nglTracking/nglTrackingMiddleware.js deleted file mode 100644 index b53ffc788..000000000 --- a/js/reducers/nglTracking/nglTrackingMiddleware.js +++ /dev/null @@ -1,26 +0,0 @@ -import { appendAndSendTrackingActions } from './dispatchActions'; -import { constants } from './constants'; -import { findTrackAction } from './trackingActions'; -import { setIsSnapshotDirty } from '../tracking/actions'; - -const nglTrackingMiddleware = ({ dispatch, getState }) => next => action => { - //console.log(`Redux Log:`, action); - - if (action) { - const state = getState(); - if (action && action.type && !action.type.includes(constants.APPEND_ACTIONS_LIST)) { - let trackAction = findTrackAction(action, state); - if (trackAction && trackAction != null) { - // const isSnapshotDirty = state.trackingReducers.isSnapshotDirty; - // if (!isSnapshotDirty) { - // dispatch(setIsSnapshotDirty(true)); - // } - dispatch(appendAndSendTrackingActions(trackAction)); - } - } - - next(action); - } -}; - -export default nglTrackingMiddleware; diff --git a/js/reducers/nglTracking/nglTrackingReducers.js b/js/reducers/nglTracking/nglTrackingReducers.js deleted file mode 100644 index d68509dc4..000000000 --- a/js/reducers/nglTracking/nglTrackingReducers.js +++ /dev/null @@ -1,131 +0,0 @@ -import { constants, undoConstants } from './constants'; -import { undoable } from '../../undoredo/reducer'; -import { includeAction } from '../../undoredo/helpers'; - -export const INITIAL_STATE = { - track_actions_list: [], - undo_redo_actions_list: [], - current_actions_list: [], - isTrackingMoleculesRestoring: false, - isTrackingCompoundsRestoring: false, - isUndoRedoAction: false, - isActionsSending: false, - isActionsLoading: false, - isActionSaving: false, - send_actions_list: [], - project_actions_list: [], - snapshotActionImageList: [], - isActionRestoring: false, - isActionRestored: false, - isActionTracking: false, - trackingImageSource: '' -}; - -export function nglTrackingReducers(state = INITIAL_STATE, action = {}) { - switch (action.type) { - case constants.SET_ACTIONS_LIST: - return Object.assign({}, state, { - track_actions_list: action.track_actions_list - }); - - case constants.APPEND_ACTIONS_LIST: - return Object.assign({}, state, { - track_actions_list: [...new Set([...state.track_actions_list, action.track_action])] - }); - - case constants.APPEND_UNDO_REDO_ACTIONS_LIST: - return Object.assign({}, state, { - undo_redo_actions_list: [...new Set([...state.undo_redo_actions_list, action.track_action])] - }); - - case constants.SET_UNDO_REDO_ACTIONS_LIST: - return { - ...state, undo_redo_actions_list: action.undo_redo_actions_list - }; - - case constants.SET_CURRENT_ACTIONS_LIST: - return Object.assign({}, state, { - current_actions_list: [...action.current_actions_list] - }); - - case constants.SET_IS_TRACKING_MOLECULES_RESTORING: - return Object.assign({}, state, { - isTrackingMoleculesRestoring: action.isTrackingMoleculesRestoring - }); - - case constants.SET_IS_TRACKING_COMPOUNDS_RESTORING: - return Object.assign({}, state, { - isTrackingCompoundsRestoring: action.isTrackingCompoundsRestoring - }); - - case constants.SET_IS_UNDO_REDO_ACTION: - return Object.assign({}, state, { - isUndoRedoAction: action.isUndoRedoAction - }); - - case constants.SET_IS_ACTIONS_SENDING: - return Object.assign({}, state, { - isActionsSending: action.isActionsSending - }); - - case constants.SET_IS_ACTIONS_LOADING: - return Object.assign({}, state, { - isActionsLoading: action.isActionsLoading - }); - - case constants.SET_SEND_ACTIONS_LIST: - return Object.assign({}, state, { - send_actions_list: [...action.send_actions_list] - }); - - case constants.APPEND_SEND_ACTIONS_LIST: - return Object.assign({}, state, { - send_actions_list: [...new Set([...state.send_actions_list, action.track_action])] - }); - - case constants.SET_PROJECT_ACTIONS_LIST: - return Object.assign({}, state, { - project_actions_list: action.project_actions_list - }); - - case constants.SET_SNAPSOT_IMAGE_ACTIONS_LIST: - return Object.assign({}, state, { - snapshotActionImageList: action.snapshotActionImageList - }); - - case constants.SET_IS_ACTIONS_SAVING: - return Object.assign({}, state, { - isActionSaving: action.isActionSaving - }); - - case constants.SET_IS_ACTIONS_RESTORING: - return Object.assign({}, state, { - isActionRestoring: action.isActionRestoring, - isActionRestored: action.isActionRestored - }); - case constants.SET_IS_ACTION_TRACKING: - return Object.assign({}, state, { - isActionTracking: action.isActionTracking - }); - - case constants.SET_TRACKING_IMAGE_SOURCE: - return Object.assign({}, state, { - trackingImageSource: action.payload - }); - - case constants.RESET_TRACKING_STATE: - return INITIAL_STATE; - - default: - return state; - } -} - -export const undoableNglTrackingReducers = undoable(nglTrackingReducers, { - limit: false, - filter: includeAction(constants.SET_UNDO_REDO_ACTIONS_LIST), - undoType: undoConstants.NGL_TRACKING_UNDO, - redoType: undoConstants.NGL_TRACKING_REDO, - clearHistoryType: undoConstants.NGL_CLEAR_HISTORY -}); - \ No newline at end of file diff --git a/js/reducers/nglTracking/trackingActions.js b/js/reducers/nglTracking/trackingActions.js deleted file mode 100644 index 5f9e24be9..000000000 --- a/js/reducers/nglTracking/trackingActions.js +++ /dev/null @@ -1,60 +0,0 @@ -import { actionType, actionObjectType, actionDescription, actionAnnotation } from './constants'; -import { CONSTANTS as nglConstants } from '../ngl/constants'; -import { DJANGO_CONTEXT } from '../../utils/djangoContext'; - -export const findTrackAction = (action, state) => { - const username = DJANGO_CONTEXT['username']; - const isActionRestoring = state.nglTrackingReducers.isActionRestoring; - - let trackAction = null; - if (isActionRestoring === false && action.skipTracking !== true) { - if (action.type.includes(nglConstants.SET_ORIENTATION_BY_INTERACTION)) { - const { oldOrientation: oldSetting, orientation: newSetting, div_id } = action; - - trackAction = { - type: actionType.ORIENTATION, - merge: true, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: 'NGL', - oldSetting, - newSetting, - div_id, - getText: function() { - return 'NGL transformation changed'; - }, - text: 'NGL transformation changed' - }; - } - } - return trackAction; -}; - -const getTargetName = (targetId, state) => { - let targetList = state.apiReducers.target_id_list; - let target = targetList.find(target => target.id === targetId); - let targetName = (target && target.title) || ''; - return targetName; -}; - -export const createInitAction = target_on => (dispatch, getState) => { - const state = getState(); - const username = DJANGO_CONTEXT['username']; - - if (target_on) { - let targetName = getTargetName(target_on, state); - let trackAction = { - type: actionType.TARGET_LOADED, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.TARGET, - object_name: targetName, - object_id: target_on, - text: `${actionDescription.TARGET} ${targetName} ${actionDescription.LOADED}` - }; - - return trackAction; - } -}; diff --git a/js/reducers/rootReducer.js b/js/reducers/rootReducer.js index 3862e8bd7..1c6988301 100644 --- a/js/reducers/rootReducer.js +++ b/js/reducers/rootReducer.js @@ -12,11 +12,10 @@ import { projectReducers } from '../components/projects/redux/reducer'; import { issueReducers } from '../components/userFeedback/redux/reducer'; import { datasetsReducers } from '../components/datasets/redux/reducer'; import { jobTableReducer } from '../components/preview/jobTable/redux/reducer'; -import { trackingReducers, undoableTrackingReducers } from './tracking/trackingReducers'; -import { nglTrackingReducers, undoableNglTrackingReducers } from './nglTracking/nglTrackingReducers'; import { layoutReducers } from './layout/layoutReducers'; +import { constants } from './constants'; -const rootReducer = combineReducers({ +const appReducer = combineReducers({ apiReducers, nglReducers, selectionReducers, @@ -26,12 +25,16 @@ const rootReducer = combineReducers({ projectReducers, issueReducers, datasetsReducers, - trackingReducers, jobTableReducer, - undoableTrackingReducers, - nglTrackingReducers, - undoableNglTrackingReducers, layoutReducers }); +const rootReducer = (state, action) => { + if (action.type === constants.SET_ENTIRE_STATE) { + return action.newState; + } + + return appReducer(state, action); +}; + export { rootReducer }; diff --git a/js/reducers/selection/actions.js b/js/reducers/selection/actions.js index 2166e14f7..cb8f6afdd 100644 --- a/js/reducers/selection/actions.js +++ b/js/reducers/selection/actions.js @@ -624,3 +624,31 @@ export const setTargetToEdit = target => { target: target }; }; + +export const setToBeDisplayedList = toBeDisplayedList => { + return { + type: constants.SET_TO_BE_DISPLAYED_LIST, + toBeDisplayedList: toBeDisplayedList + }; +}; + +export const appendToBeDisplayedList = item => { + return { + type: constants.APPEND_TO_BE_DISPLAYED_LIST, + item: item + }; +}; + +export const removeFromToBeDisplayedList = item => { + return { + type: constants.REMOVE_FROM_TO_BE_DISPLAYED_LIST, + item: item + }; +}; + +export const updateInToBeDisplayedList = item => { + return { + type: constants.UPDATE_IN_TO_BE_DISPLAYED_LIST, + item: item + }; +}; diff --git a/js/reducers/selection/constants.js b/js/reducers/selection/constants.js index 49b5949c3..b66b797ce 100644 --- a/js/reducers/selection/constants.js +++ b/js/reducers/selection/constants.js @@ -105,7 +105,12 @@ export const constants = { SET_UNSELECT_VISIBLE_POSES: prefix + 'SET_UNSELECT_VISIBLE_POSES', SET_OBSERVATION_DIALOG_ACTION: prefix + 'SET_OBSERVATION_DIALOG_ACTION', - SET_TARGET_TO_EDIT: prefix + 'SET_TARGET_TO_EDIT' + SET_TARGET_TO_EDIT: prefix + 'SET_TARGET_TO_EDIT', + + SET_TO_BE_DISPLAYED_LIST: prefix + 'SET_TO_BE_DISPLAYED_LIST', + APPEND_TO_BE_DISPLAYED_LIST: prefix + 'APPEND_TO_BE_DISPLAYED_LIST', + REMOVE_FROM_TO_BE_DISPLAYED_LIST: prefix + 'REMOVE_FROM_TO_BE_DISPLAYED_LIST', + UPDATE_IN_TO_BE_DISPLAYED_LIST: prefix + 'UPDATE_IN_TO_BE_DISPLAYED_LIST' }; export const PREDEFINED_FILTERS = { diff --git a/js/reducers/selection/selectionReducers.js b/js/reducers/selection/selectionReducers.js index 05c265feb..982995ec6 100644 --- a/js/reducers/selection/selectionReducers.js +++ b/js/reducers/selection/selectionReducers.js @@ -56,11 +56,48 @@ export const INITIAL_STATE = { areLSHCompoundsInitialized: false, toastMessages: [], isScrollFiredForLHS: false, - targetToEdit: null + targetToEdit: null, + // Shape of the object in toBeDisplayedList: + // { + // type: 'L|P|C|S|V|RIBBON|etc...', + // id: 1, + + // center: true, + // withQuality: true, + // representations: [] etc... + + // display: true + // } + toBeDisplayedList: [] }; export function selectionReducers(state = INITIAL_STATE, action = {}) { switch (action.type) { + case constants.SET_TO_BE_DISPLAYED_LIST: + return { ...state, toBeDisplayedList: action.toBeDisplayedList }; + + case constants.APPEND_TO_BE_DISPLAYED_LIST: + return { ...state, toBeDisplayedList: [...state.toBeDisplayedList, action.item] }; + + case constants.REMOVE_FROM_TO_BE_DISPLAYED_LIST: + return { + ...state, + toBeDisplayedList: state.toBeDisplayedList.filter( + item => item.id !== action.item.id || item.type !== action.item.type + ) + }; + + case constants.UPDATE_IN_TO_BE_DISPLAYED_LIST: + return { + ...state, + toBeDisplayedList: state.toBeDisplayedList.map(item => { + if (item.id === action.item.id && item.type === action.item.type) { + return { ...item, ...action.item }; + } + return item; + }) + }; + case constants.SET_SCROLL_FIRED_FOR_LHS: { return { ...state, isScrollFiredForLHS: action.isFired }; } diff --git a/js/reducers/tracking/actions.js b/js/reducers/tracking/actions.js deleted file mode 100644 index baac7b94d..000000000 --- a/js/reducers/tracking/actions.js +++ /dev/null @@ -1,160 +0,0 @@ -import { constants } from './constants'; - -export const setActionsList = function(track_actions_list) { - return { - type: constants.SET_ACTIONS_LIST, - track_actions_list: track_actions_list - }; -}; - -export const appendToActionList = function(track_action) { - return { - type: constants.APPEND_ACTIONS_LIST, - track_action: track_action - }; -}; - -export const appendToUndoRedoActionList = function(track_action) { - return { - type: constants.APPEND_UNDO_REDO_ACTIONS_LIST, - track_action: track_action - }; -}; - -export const setUndoRedoActionList = undo_redo_actions_list => { - return { - type: constants.SET_UNDO_REDO_ACTIONS_LIST, - undo_redo_actions_list: undo_redo_actions_list - }; -}; - -export const setCurrentActionsList = function(current_actions_list) { - return { - type: constants.SET_CURRENT_ACTIONS_LIST, - current_actions_list: current_actions_list - }; -}; - -export const setIsTrackingMoleculesRestoring = function(isTrackingMoleculesRestoring) { - return { - type: constants.SET_IS_TRACKING_MOLECULES_RESTORING, - isTrackingMoleculesRestoring: isTrackingMoleculesRestoring - }; -}; - -export const setIsTrackingCompoundsRestoring = function(isTrackingCompoundsRestoring) { - return { - type: constants.SET_IS_TRACKING_COMPOUNDS_RESTORING, - isTrackingCompoundsRestoring: isTrackingCompoundsRestoring - }; -}; - -export const setIsUndoRedoAction = function(isUndoRedoAction) { - return { - type: constants.SET_IS_UNDO_REDO_ACTION, - isUndoRedoAction: isUndoRedoAction - }; -}; - -export const setIsActionsSending = function(isActionsSending) { - return { - type: constants.SET_IS_ACTIONS_SENDING, - isActionsSending: isActionsSending - }; -}; - -export const setIsActionsLoading = function(isActionsLoading) { - return { - type: constants.SET_IS_ACTIONS_LOADING, - isActionsLoading: isActionsLoading - }; -}; - -export const setSendActionsList = function(track_actions_list) { - return { - type: constants.SET_SEND_ACTIONS_LIST, - send_actions_list: track_actions_list - }; -}; - -export const appendToSendActionList = function(track_action) { - return { - type: constants.APPEND_SEND_ACTIONS_LIST, - track_action: track_action - }; -}; - -export const setProjectActionList = function(project_actions_list) { - return { - type: constants.SET_PROJECT_ACTIONS_LIST, - project_actions_list: project_actions_list - }; -}; - -export const setProjectActionListLoaded = isLoaded => { - return { - type: constants.SET_PROJECT_ACTIONS_LIST_LOADED, - isLoaded: isLoaded - }; -}; - -export const setSnapshotActionsDownloaded = isDownloaded => { - return { - type: constants.SET_SNAPSHOT_ACTIONS_DOWNLOADED, - isDownloaded: isDownloaded - }; -}; - -export const setSnapshotImageActionList = function(snapshotActionImageList) { - return { - type: constants.SET_SNAPSOT_IMAGE_ACTIONS_LIST, - snapshotActionImageList: snapshotActionImageList - }; -}; - -export const setIsActionsSaving = function(isActionSaving) { - return { - type: constants.SET_IS_ACTIONS_SAVING, - isActionSaving: isActionSaving - }; -}; - -export const setIsActionsRestoring = function(isActionRestoring, isActionRestored) { - return { - type: constants.SET_IS_ACTIONS_RESTORING, - isActionRestoring: isActionRestoring, - isActionRestored: isActionRestored - }; -}; - -export const setIsActionTracking = function(isActionTracking) { - return { - type: constants.SET_IS_ACTION_TRACKING, - isActionTracking: isActionTracking - }; -}; - -export const resetTrackingState = function() { - return { - type: constants.RESET_TRACKING_STATE - }; -}; - -export const setTrackingImageSource = imageSource => ({ - type: constants.SET_TRACKING_IMAGE_SOURCE, - payload: imageSource -}); - -export const setSkipOrientationChange = skipOrientationChange => ({ - type: constants.SET_SKIP_ORIENTATION_CHANGE, - skipOrientationChange: skipOrientationChange -}); - -export const setIsSnapshotDirty = isSnapshotDirty => { - console.count(`setIsSnapshotDirty with value ${isSnapshotDirty}`); - return { - type: constants.SET_IS_SNAPSHOT_DIRTY, - isSnapshotDirty: isSnapshotDirty, - skipTracking: true - }; -}; diff --git a/js/reducers/tracking/constants.js b/js/reducers/tracking/constants.js deleted file mode 100644 index b5bf429d9..000000000 --- a/js/reducers/tracking/constants.js +++ /dev/null @@ -1,223 +0,0 @@ -const prefix = 'REDUCERS_TRACKING_'; - -export const constants = { - SET_ACTIONS_LIST: prefix + 'SET_ACTIONS_LIST', - APPEND_ACTIONS_LIST: prefix + 'APPEND_ACTIONS_LIST', - SET_CURRENT_ACTIONS_LIST: prefix + 'SET_CURRENT_ACTIONS_LIST', - SET_IS_TRACKING_COMPOUNDS_RESTORING: prefix + 'SET_IS_TRACKING_COMPOUNDS_RESTORING', - SET_IS_TRACKING_MOLECULES_RESTORING: prefix + 'SET_IS_TRACKING_MOLECULES_RESTORING', - SET_IS_UNDO_REDO_ACTION: prefix + 'SET_IS_UNDO_REDO_ACTION', - SET_SEND_ACTIONS_LIST: prefix + 'SET_SEND_ACTIONS_LIST', - APPEND_SEND_ACTIONS_LIST: prefix + 'APPEND_SEND_ACTIONS_LIST', - SET_IS_ACTIONS_SENDING: prefix + 'SET_IS_ACTIONS_SENDING', - SET_IS_ACTIONS_LOADING: prefix + 'SET_IS_ACTIONS_LOADING', - SET_PROJECT_ACTIONS_LIST: prefix + 'SET_PROJECT_ACTIONS_LIST', - SET_IS_ACTIONS_SAVING: prefix + 'SET_IS_ACTIONS_SAVING', - SET_IS_ACTIONS_RESTORING: prefix + 'SET_IS_ACTIONS_RESTORING', - SET_IS_ACTION_TRACKING: prefix + 'SET_IS_ACTION_TRACKING', - RESET_TRACKING_STATE: prefix + 'RESET_TRACKING_STATE', - SET_TRACKING_IMAGE_SOURCE: prefix + 'SET_TRACKING_IMAGE_SOURCE', - SET_SNAPSOT_IMAGE_ACTIONS_LIST: prefix + 'SET_SNAPSOT_IMAGE_ACTIONS_LIST', - APPEND_UNDO_REDO_ACTIONS_LIST: prefix + 'APPEND_UNDO_REDO_ACTIONS_LIST', - SET_UNDO_REDO_ACTIONS_LIST: prefix + 'SET_UNDO_REDO_ACTIONS_LIST', - SET_PROJECT_ACTIONS_LIST_LOADED: prefix + 'SET_PROJECT_ACTIONS_LIST_LOADED', - SET_SKIP_ORIENTATION_CHANGE: prefix + 'SET_SKIP_ORIENTATION_CHANGE', //when snapshot is switched we want to skip orientation change so it doesn't blink through multiple states - SET_IS_SNAPSHOT_DIRTY: prefix + 'SET_IS_SNAPSHOT_DIRTY', - SET_SNAPSHOT_ACTIONS_DOWNLOADED: prefix + 'SET_SNAPSHOT_ACTIONS_DOWNLOADED' -}; - -export const actionType = { - TARGET_LOADED: 'TARGET_LOADED', - SITE_TURNED_ON: 'SITE_TURNED_ON', - SITE_TURNED_OFF: 'SITE_TURNED_OFF', - LIGAND_TURNED_ON: 'LIGAND_TURNED_ON', - LIGAND_TURNED_OFF: 'LIGAND_TURNED_OFF', - SIDECHAINS_TURNED_ON: 'SIDECHAINS_TURNED_ON', - SIDECHAINS_TURNED_OFF: 'SIDECHAINS_TURNED_OFF', - INTERACTIONS_TURNED_ON: 'INTERACTIONS_TURNED_ON', - INTERACTIONS_TURNED_OFF: 'INTERACTIONS_TURNED_OFF', - SURFACE_TURNED_ON: 'SURFACE_TURNED_ON', - SURFACE_TURNED_OFF: 'SURFACE_TURNED_OFF', - DENSITY_TURNED_ON: 'DENSITY_TURNED_ON', - DENSITY_TURNED_OFF: 'DENSITY_TURNED_OFF', - DENSITY_CUSTOM_TURNED_ON: 'DENSITY_CUSTOM_TURNED_ON', - DENSITY_CUSTOM_TURNED_OFF: 'DENSITY_CUSTOM_TURNED_OFF', - DENSITY_TYPE_ON: 'DENSITY_TYPE_ON', - DENSITY_TYPE_OFF: 'DENSITY_TYPE_OFF', - QUALITY_TURNED_ON: 'QUALITY_TURNED_ON', - QUALITY_TURNED_OFF: 'QUALITY_TURNED_OFF', - VECTORS_TURNED_ON: 'VECTORS_TURNED_ON', - VECTORS_TURNED_OFF: 'VECTORS_TURNED_OFF', - COLOR_FILTER_TURNED_ON: 'COLOR_FILTER_TURNED_ON', - COLOR_FILTER_TURNED_OFF: 'COLOR_FILTER_TURNED_OFF', - CLASS_SELECTED: 'CLASS_SELECTED', - CLASS_UPDATED: 'CLASS_UPDATED', - VECTOR_SELECTED: 'VECTOR_SELECTED', - VECTOR_DESELECTED: 'VECTOR_DESELECTED', - MOLECULE_ADDED_TO_SHOPPING_CART: 'MOLECULE_ADDED_TO_SHOPPING_CART', - MOLECULE_ADDED_TO_SHOPPING_CART_ALL: 'MOLECULE_ADDED_TO_SHOPPING_CART_ALL', - MOLECULE_REMOVED_FROM_SHOPPING_CART: 'MOLECULE_REMOVED_FROM_SHOPPING_CART', - MOLECULE_REMOVED_FROM_SHOPPING_CART_ALL: 'MOLECULE_REMOVED_FROM_SHOPPING_CART_ALL', - VECTOR_COUMPOUND_ADDED: 'VECTOR_COUMPOUND_ADDED', - VECTOR_COUMPOUND_REMOVED: 'VECTOR_COUMPOUND_REMOVED', - COMPOUND_SELECTED: 'COMPOUND_SELECTED', - COMPOUND_DESELECTED: 'COMPOUND_DESELECTED', - REPRESENTATION_UPDATED: 'REPRESENTATION_UPDATED', - REPRESENTATION_VISIBILITY_UPDATED: 'REPRESENTATION_VISIBILITY_UPDATED', - REPRESENTATION_VISIBILITY_ALL_UPDATED: 'REPRESENTATION_VISIBILITY_ALL_UPDATED', - REPRESENTATION_ADDED: 'REPRESENTATION_ADDED', - REPRESENTATION_REMOVED: 'REPRESENTATION_REMOVED', - REPRESENTATION_CHANGED: 'REPRESENTATION_CHANGED', - NGL_STATE: 'NGL_STATE', - UNDO: 'UNDO', - REDO: 'REDO', - ARROW_NAVIGATION: 'ARROW_NAVIGATION', - SNAPSHOT: 'SNAPSHOT', - TAB: 'TAB', - DATASET_INDEX: 'DATASET_INDEX', - DATASET_FILTER: 'DATASET_FILTER', - DATASET_FILTER_SCORE: 'DATASET_FILTER_SCORE', - DRAG_DROP_FINISHED: 'DRAG_DROP_FINISHED', - ALL_HIDE: 'ALL_HIDE', - ALL_TURNED_ON: 'ALL_TURNED_ON', - ALL_TURNED_OFF: 'ALL_TURNED_OFF', - SELECTED_TURNED_ON_BY_TYPE: 'SELECTED_TURNED_ON_BY_TYPE', - ALL_TURNED_OFF_BY_TYPE: 'ALL_TURNED_OFF_BY_TYPE', - BACKGROUND_COLOR_CHANGED: 'BACKGROUND_COLOR_CHANGED', - CLIP_NEAR: 'CLIP_NEAR', - CLIP_FAR: 'CLIP_FAR', - CLIP_DIST: 'CLIP_DIST', - FOG_NEAR: 'FOG_NEAR', - FOG_FAR: 'FOG_FAR', - ISO_LEVEL_EVENT: 'ISO_LEVEL_EVENT', - BOX_SIZE_EVENT: 'BOX_SIZE_EVENT', - OPACITY_EVENT: 'OPACITY_EVENT', - CONTOUR_EVENT: 'CONTOUR_EVENT', - COLOR_EVENT: 'COLOR_EVENT', - ISO_LEVEL_SIGMAA: 'ISO_LEVEL_SIGMAA', - BOX_SIZE_SIGMAA: 'BOX_SIZE_SIGMAA', - OPACITY_SIGMAA: 'OPACITY_SIGMAA', - CONTOUR_SIGMAA: 'CONTOUR_SIGMAA', - COLOR_SIGMAA: 'COLOR_SIGMAA', - ISO_LEVEL_DIFF: 'ISO_LEVEL_DIFF', - BOX_SIZE_DIFF: 'BOX_SIZE_DIFF', - OPACITY_DIFF: 'OPACITY_DIFF', - CONTOUR_DIFF: 'CONTOUR_DIFF', - COLOR_DIFF: 'COLOR_DIFF', - WARNING_ICON: 'WARNING_ICON', - TAG_SELECTED: 'TAG_SELECTED', - TAG_UNSELECTED: 'TAG_UNSELECTED', - TURN_SIDE: 'TURN_SIDE', - MOLECULE_SELECTED: 'MOLECULE_SELECTED', - MOLECULE_UNSELECTED: 'MOLECULE_UNSELECTED', - ALL_MOLECULES_SELECTED: 'ALL_MOLECULES_SELECTED', - ALL_MOLECULES_UNSELECTED: 'ALL_MOLECULES_UNSELECTED', - ALL_VISIBLE_HITS_SELECTED: 'ALL_VISIBLE_HITS_SELECTED', - ALL_VISIBLE_HITS_UNSELECTED: 'ALL_VISIBLE_HITS_UNSELECTED', - SEARCH_STRING: 'SEARCH_STRING', - SEARCH_STRING_HIT_NAVIGATOR: 'SEARCH_STRING_HIT_NAVIGATOR', - COMPOUND_LOCKED: 'COMPOUND_LOCKED', - COMPOUND_UNLOCKED: 'COMPOUND_UNLOCKED', - COMPOUND_ADDED_TO_COLOR_GROUP: 'COMPOUND_ADDED_TO_COLOR_GROUP', - COMPOUND_REMOVED_FROM_COLOR_GROUP: 'COMPOUND_REMOVED_FROM_COLOR_GROUP', - TAG_DETAIL_VIEW: 'TAG_DETAIL_VIEW', - SELECT_ALL_DATASET_COMPOUNDS: 'SELECT_ALL_DATASET_COMPOUNDS', - SELECTED_SELECT_ALL_BUTTON_FOR_DATASET: 'SELECTED_SELECT_ALL_BUTTON_FOR_DATASET', - ALL_COMPOUNDS_ADDED_TO_COLOR_GROUP: 'ALL_COMPOUNDS_ADDED_TO_COLOR_GROUP', - ALL_COMPOUNDS_REMOVED_FROM_COLOR_GROUP: 'ALL_COMPOUNDS_REMOVED_FROM_COLOR_GROUP', - POSE_WINDOW_ACTION: 'POSE_WINDOW_ACTION', - INSPIRATION_WINDOW_ACTION: 'INSPIRATION_WINDOW_ACTION' -}; - -export const snapshotSwitchManualActions = [ - actionType.LIGAND_TURNED_ON, - actionType.SIDECHAINS_TURNED_ON, - actionType.SURFACE_TURNED_ON, - actionType.DENSITY_TURNED_ON, - actionType.DENSITY_CUSTOM_TURNED_ON, - // actionType.DENSITY_TYPE_ON, //I don't know what this one is for but it's not processed anywhere - actionType.QUALITY_TURNED_OFF, - actionType.VECTORS_TURNED_ON, - actionType.INTERACTIONS_TURNED_ON, - actionType.ALL_TURNED_ON -]; - -export const actionDescription = { - LOADED: 'was loaded', - TURNED_ON: 'was turned on', - TURNED_OFF: 'was turned off', - MOVED: 'was moved', - SELECTED: 'was selected', - DESELECTED: 'was deselected', - LOCKED: 'was locked', - UNLOCKED: 'was unlocked', - ADDED_TO_COLOR_GROUP: 'was added to color group', - REMOVED_FROM_COLOR_GROUP: 'was removed from color group', - HIDDEN: 'hidden', - VISIBLE: 'visible', - CANCELED: 'canceled', - ADDED: 'was added', - REMOVED: 'was removed', - CHANGED: 'was changed', - UPDATED: 'was updated', - VISIBILITY: 'visiblity', - TO_SHOPPING_CART: 'to shopping cart', - FROM_SHOPPING_CART: 'from shopping cart', - LIGAND: 'Ligand', - SIDECHAIN: 'Sidechain', - INTERACTION: 'Interaction', - DENSITY: 'Density', - VECTOR: 'Vector', - COMPOUND: 'Compound', - MOLECULE: 'Molecule', - INSPIRATION: 'Inspiration', - CROSS_REFERENCE: 'Cross reference', - CLASS: 'Compound colour', - SURFACE: 'Surface', - QUALITY: 'Quality', - SITE: 'Site', - TARGET: 'Target', - ALL: 'All', - SELECTED_TYPE: 'Selected', - LIGANDS: 'Ligands', - SIDECHAINS: 'Sidechains', - TAB: 'Tab', - DATASET: 'Dataset', - CUSTOM_VIEW: 'custom view', - TAG: 'Tag', - LIST_VIEW: 'list view', - GRID_VIEW: 'grid view' -}; - -export const actionObjectType = { - TARGET: 'TARGET', - SITE: 'SITE', - MOLECULE: 'MOLECULE', - COMPOUND: 'COMPOUND', - INSPIRATION: 'INSPIRATION', - CROSS_REFERENCE: 'CROSS_REFERENCE', - REPRESENTATION: 'REPRESENTATION', - VIEWER_SETTINGS: 'VIEWER_SETTINGS', - TAG: 'TAG' -}; - -export const actionAnnotation = { - CHECK: 'CHECK', - CLEAR: 'CLEAR', - WARNING: 'WARNING', - FAVORITE: 'FAVORITE', - STAR: 'STAR' -}; - -export const mapTypesStrings = { - EVENT: 'EVENT MAP', - DIFF: 'DIFF MAP', - SIGMAA: 'SIGMAA MAP' -}; - -export const viewerControlsSides = { - LHS: 'Left hand side', - RHS: 'Right hand side' -}; - -export const NUM_OF_SECONDS_TO_IGNORE_MERGE = 2; diff --git a/js/reducers/tracking/dispatchActions.js b/js/reducers/tracking/dispatchActions.js deleted file mode 100644 index 7d62dc12e..000000000 --- a/js/reducers/tracking/dispatchActions.js +++ /dev/null @@ -1,4249 +0,0 @@ -import { - setCurrentActionsList, - setIsTrackingMoleculesRestoring, - setIsTrackingCompoundsRestoring, - setIsUndoRedoAction, - setProjectActionListLoaded, - setIsSnapshotDirty, - setSnapshotActionsDownloaded -} from './actions'; -import { createInitAction } from './trackingActions'; -import { actionType, actionObjectType, NUM_OF_SECONDS_TO_IGNORE_MERGE, mapTypesStrings } from './constants'; -import { VIEWS } from '../../../js/constants/constants'; -import { - setHideAll, - setArrowUpDown, - appendToMolListToEdit, - removeFromMolListToEdit, - setNextXMolecules, - setTagDetailView, - addToastMessage, - setScrollFiredForLHS -} from '../selection/actions'; -import { - resetReducersForRestoringActions, - shouldLoadProtein, - loadProteinOfRestoringActions -} from '../../components/preview/redux/dispatchActions'; -import { setCurrentProject } from '../../components/projects/redux/actions'; -import { setCurrentProject as setProject } from '../../components/target/redux/actions'; -import { loadMoleculeGroupsOfTarget } from '../../components/preview/moleculeGroups/redux/dispatchActions'; -import { loadTargetList } from '../../components/target/redux/dispatchActions'; -import { resetTargetState, setTargetOn } from '../api/actions'; -import { - addComplex, - addLigand, - addHitProtein, - addSurface, - addQuality, - addVector, - removeComplex, - removeLigand, - removeHitProtein, - removeSurface, - removeQuality, - removeVector, - moveSelectedMolSettings, - removeSelectedMolTypes, - hideAllSelectedMolecules, - addDensity, - addDensityCustomView, - removeDensity, - getProteinData, - selectAllHits, - selectAllVisibleObservations -} from '../../components/preview/molecule/redux/dispatchActions'; -import { setSortDialogOpen, setSearchStringOfHitNavigator } from '../../components/preview/molecule/redux/actions'; -import { - handleBuyList, - handleBuyListAll, - handleShowVectorCompound -} from '../../components/preview/compounds/redux/dispatchActions'; -import { setCurrentCompoundClass, setCompoundClasses } from '../../components/preview/compounds/redux/actions'; -import { colourList } from '../../components/preview/molecule/utils/color'; -import { - addDatasetComplex, - addDatasetLigand, - addDatasetHitProtein, - addDatasetSurface, - removeDatasetComplex, - removeDatasetLigand, - removeDatasetHitProtein, - removeDatasetSurface, - loadDataSets, - loadDatasetCompoundsWithScores, - removeSelectedDatasetMolecules, - moveSelectedMoleculeSettings, - moveSelectedInspirations, - moveMoleculeInspirationsSettings, - getInspirationsForMol, - selectScoreProperty -} from '../../components/datasets/redux/dispatchActions'; -import { - appendMoleculeToCompoundsOfDatasetToBuy, - removeMoleculeFromCompoundsOfDatasetToBuy, - setMoleculeListIsLoading, - setTabValue, - setSelectedDatasetIndex, - setDatasetFilter, - setFilterProperties, - setFilterSettings, - updateFilterShowedScoreProperties, - setFilterShowedScoreProperties, - setDragDropState, - resetDatasetScrolledMap, - setSearchStringOfCompoundSet, - appendCompoundToSelectedCompoundsByDataset, - removeCompoundFromSelectedCompoundsByDataset, - appendCompoundColorOfDataset, - removeCompoundColorOfDataset, - setCompoundToSelectedCompoundsByDataset, - setSelectAllButtonForDataset, - appendColorToSelectedColorFilter, - removeColorFromSelectedColorFilter, - setIsOpenInspirationDialog, - setInspirationList, - setInspirationDialogOpenedForSelectedCompounds, - setSelectedDatasetScrolled -} from '../../components/datasets/redux/actions'; -import { - removeComponentRepresentation, - addComponentRepresentation, - updateComponentRepresentation, - updateComponentRepresentationVisibility, - updateComponentRepresentationVisibilityAll, - changeComponentRepresentation -} from '../../../js/reducers/ngl/actions'; -import { NGL_PARAMS, NGL_VIEW_DEFAULT_VALUES, COMMON_PARAMS } from '../../components/nglView/constants'; -import { assignRepresentationToComp } from '../../components/nglView/generatingObjects'; -import { - deleteObject, - setOrientation, - setNglBckGrndColor, - setNglClipNear, - setNglClipFar, - setNglClipDist, - setNglFogNear, - setNglFogFar, - setIsoLevel, - setBoxSize, - setOpacity, - setContour, - setWarningIcon, - setElectronDesityMapColor -} from '../../../js/reducers/ngl/dispatchActions'; -import { - setSendActionsList, - setIsActionsSending, - setIsActionsLoading, - setActionsList, - setSnapshotImageActionList, - setUndoRedoActionList -} from './actions'; -import { api, METHOD } from '../../../js/utils/api'; -import { base_url } from '../../components/routes/constants'; -import { CONSTANTS } from '../../../js/constants/constants'; -import moment from 'moment'; -import { - appendToSendActionList, - setProjectActionList, - setIsActionsSaving, - setIsActionsRestoring, - resetTrackingState, - setIsActionTracking -} from './actions'; -import { - setSelectedAll, - setDeselectedAll, - setSelectedAllByType, - setDeselectedAllByType, - setObservationsForLHSCmp, - setOpenObservationsDialog, - setPoseIdForObservationsDialog -} from '../../../js/reducers/selection/actions'; -import { - setSelectedAll as setSelectedAllOfDataset, - setDeselectedAll as setDeselectedAllOfDataset, - setSelectedAllByType as setSelectedAllByTypeOfDataset, - setDeselectedAllByType as setDeselectedAllByTypeOfDataset, - setArrowUpDown as setArrowUpDownOfDataset, - setCrossReferenceCompoundName, - setInspirationMoleculeDataList -} from '../../components/datasets/redux/actions'; -import { selectVectorAndResetCompounds } from '../../../js/reducers/selection/dispatchActions'; -import { ActionCreators as UndoActionCreators } from '../../undoredo/actions'; -import { hideShapeRepresentations } from '../../components/nglView/redux/dispatchActions'; -import { MAP_TYPE } from '../ngl/constants'; -import { - removeSelectedTag, - addSelectedTag, - loadMoleculesAndTagsNew -} from '../../components/preview/tags/redux/dispatchActions'; -import { turnSide } from '../../components/preview/viewerControls/redux/actions'; -import { getQualityOffActions } from './utils'; -import { compoundsColors } from '../../components/preview/compounds/redux/constants'; -import { isEqual, uniqWith } from 'lodash'; -import { TOAST_LEVELS } from '../../components/toast/constants'; - -export const addCurrentActionsListToSnapshot = (snapshot, project, nglViewList) => async (dispatch, getState) => { - let projectID = project && project.projectID; - let actionList = await dispatch(getTrackingActions(projectID)); - - await dispatch(setSnapshotToActions(actionList, snapshot, projectID, project, nglViewList, true)); -}; - -export const saveCurrentActionsList = (snapshot, project, nglViewList, all, isAnonymousSnapshot = false) => async ( - dispatch, - getState -) => { - let projectID = project && project.projectID; - let actionList = await dispatch(getTrackingActions(isAnonymousSnapshot ? null : projectID)); - - if (!isAnonymousSnapshot) { - if (all === false) { - dispatch(setSnapshotToActions(actionList, snapshot, projectID, project, nglViewList, false)); - } else { - dispatch(setSnapshotToAllActions(actionList, snapshot, projectID)); - } - } - await dispatch(saveActionsList(project, snapshot, actionList, nglViewList /*, isAnonymousSnapshot*/)); -}; - -const saveActionsList = (project, snapshot, actionList, nglViewList, isAnonymousSnapshot = false) => async ( - dispatch, - getState -) => { - const state = getState(); - const snapshotID = snapshot && snapshot.id; - if (snapshotID) { - const currentTargetOn = state.apiReducers.target_on; - const currentSites = state.selectionReducers.mol_group_selection; - const currentTags = - state.selectionReducers.selectedTagList && state.selectionReducers.selectedTagList.map(value => value.id); - const currentLigands = state.selectionReducers.fragmentDisplayList; - const currentProteins = state.selectionReducers.proteinList; - const currentComplexes = state.selectionReducers.complexList; - const currentSurfaces = state.selectionReducers.surfaceList; - const currentQualities = state.selectionReducers.qualityList; - const currentDensities = state.selectionReducers.densityList; - const currentDensitiesCustom = state.selectionReducers.densityListCustom; - const currentDensitiesType = state.selectionReducers.densityListType; - const currentVectors = state.selectionReducers.vectorOnList; - const currentBuyList = state.selectionReducers.to_buy_list; - const currentVector = state.selectionReducers.currentVector; - const currentSelectionAll = state.selectionReducers.moleculeAllSelection; - const selectedMolecules = state.selectionReducers.moleculesToEdit; - - const currentDatasetLigands = state.datasetsReducers.ligandLists; - const currentDatasetProteins = state.datasetsReducers.proteinLists; - const currentDatasetComplexes = state.datasetsReducers.complexLists; - const currentDatasetSurfaces = state.datasetsReducers.surfaceLists; - const currentDatasetSelectionAll = state.datasetsReducers.moleculeAllSelection; - - const showedCompoundList = state.previewReducers.compounds.showedCompoundList; - const currentDatasetBuyList = state.datasetsReducers.compoundsToBuyDatasetMap; - const currentLockedCompounds = state.datasetsReducers.selectedCompoundsByDataset; - const currentColorsOfCompounds = state.datasetsReducers.compoundColorByDataset; - const currentobjectsInView = state.nglReducers.objectsInView; - - const currentTargets = (currentTargetOn && [currentTargetOn]) || []; - const currentVectorSmiles = (currentVector && [currentVector]) || []; - - //filter out empty actions - don't know why but they sometimes appear in between activating ligand and protein... - const filteredActionList = actionList.filter(a => Object.keys(a).length > 0); - - let orderedActionList = filteredActionList.reverse((a, b) => a.timestamp - b.timestamp); - - let currentActions = []; - - getCurrentActionList(orderedActionList, actionType.TARGET_LOADED, getCollection(currentTargets), currentActions); - getCurrentActionList(orderedActionList, actionType.SITE_TURNED_ON, getCollection(currentSites), currentActions); - getCurrentActionList(orderedActionList, actionType.TAG_SELECTED, getCollection(currentTags), currentActions); - getCurrentActionList(orderedActionList, actionType.LIGAND_TURNED_ON, getCollection(currentLigands), currentActions); - - getCurrentActionListOfAllSelection( - orderedActionList, - actionType.ALL_TURNED_ON, - getCollection(currentSelectionAll), - currentActions, - getCollection(currentLigands), - getCollection(currentProteins), - getCollection(currentComplexes) - ); - - getCurrentActionListOfAllSelectionByType( - orderedActionList, - actionType.SELECTED_TURNED_ON_BY_TYPE, - 'ligand', - getCollection(currentLigands), - currentActions - ); - - getCurrentActionListOfAllSelectionByType( - orderedActionList, - actionType.SELECTED_TURNED_ON_BY_TYPE, - 'protein', - getCollection(currentProteins), - currentActions - ); - - getCurrentActionListOfAllSelectionByType( - orderedActionList, - actionType.SELECTED_TURNED_ON_BY_TYPE, - 'complex', - getCollection(currentComplexes), - currentActions - ); - - getCurrentActionListOfAllSelectionByTypeOfDataset( - orderedActionList, - actionType.SELECTED_TURNED_ON_BY_TYPE, - 'ligand', - getCollectionOfDataset(currentDatasetLigands), - currentActions - ); - - getCurrentActionListOfAllSelectionByTypeOfDataset( - orderedActionList, - actionType.SELECTED_TURNED_ON_BY_TYPE, - 'protein', - getCollectionOfDataset(currentDatasetProteins), - currentActions - ); - - getCurrentActionListOfAllSelectionByTypeOfDataset( - orderedActionList, - actionType.SELECTED_TURNED_ON_BY_TYPE, - 'complex', - getCollectionOfDataset(currentDatasetComplexes), - currentActions - ); - - getCurrentActionListOfAllSelection( - orderedActionList, - actionType.ALL_TURNED_ON, - getCollectionOfDataset(currentDatasetSelectionAll), - currentActions, - getCollectionOfDataset(currentDatasetLigands), - getCollectionOfDataset(currentDatasetProteins), - getCollectionOfDataset(currentDatasetComplexes) - ); - - getCurrentActionListOfSelectAllMolecules( - orderedActionList, - actionType.ALL_MOLECULES_SELECTED, - getCollection(selectedMolecules), - currentActions - ); - - getCurrentActionListOfSelectAllVisibleHits( - orderedActionList, - actionType.ALL_VISIBLE_HITS_SELECTED, - getCollection(selectedMolecules), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.SIDECHAINS_TURNED_ON, - getCollection(currentProteins), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.INTERACTIONS_TURNED_ON, - getCollection(currentComplexes), - currentActions - ); - getCurrentActionList( - orderedActionList, - actionType.SURFACE_TURNED_ON, - getCollection(currentSurfaces), - currentActions - ); - dispatch(getQualityOffActions(orderedActionList, currentActions)); - // getCurrentActionList( - // orderedActionList, - // actionType.QUALITY_TURNED_OFF, - // getCollection(currentQualities), - // currentActions - // ); - getCurrentActionListDensity( - orderedActionList, - actionType.DENSITY_TURNED_ON, - getCollection(currentDensities), - currentActions - ); - getCurrentActionList( - orderedActionList, - actionType.MOLECULE_SELECTED, - getCollection(selectedMolecules), - currentActions - ); - getCurrentActionListDensity(orderedActionList, actionType.DENSITY_TYPE_ON, currentDensitiesType, currentActions); - getCurrentActionListDensity( - orderedActionList, - actionType.DENSITY_CUSTOM_TURNED_ON, - getCollection(currentDensitiesCustom), - currentActions - ); - getCurrentActionList( - orderedActionList, - actionType.VECTORS_TURNED_ON, - getCollection(currentVectors), - currentActions - ); - getCurrentActionList( - orderedActionList, - actionType.VECTOR_SELECTED, - getCollection(currentVectorSmiles), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.VECTOR_COUMPOUND_ADDED, - getCollection(showedCompoundList), - currentActions - ); - - getCurrentActionListOfShoppingCart( - orderedActionList, - actionType.MOLECULE_ADDED_TO_SHOPPING_CART, - getCollectionOfShoppingCart(currentBuyList), - currentActions - ); - - getCurrentActionListOfAllShopingCart( - orderedActionList, - actionType.MOLECULE_ADDED_TO_SHOPPING_CART_ALL, - getCollectionOfShoppingCart(currentBuyList), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.LIGAND_TURNED_ON, - getCollectionOfDataset(currentDatasetLigands), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.SIDECHAINS_TURNED_ON, - getCollectionOfDataset(currentDatasetProteins), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.INTERACTIONS_TURNED_ON, - getCollectionOfDataset(currentDatasetComplexes), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.SURFACE_TURNED_ON, - getCollectionOfDataset(currentDatasetSurfaces), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.COMPOUND_SELECTED, - getCollectionOfDataset(currentDatasetBuyList), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.REPRESENTATION_ADDED, - getCollectionOfDatasetOfRepresentation(currentobjectsInView), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.COMPOUND_LOCKED, - getCollectionOfDataset(currentLockedCompounds), - currentActions - ); - - getCurrentActionListOfPaintAllMolecules( - orderedActionList, - actionType.ALL_COMPOUNDS_ADDED_TO_COLOR_GROUP, - getCollectionOfDatasetColors(currentColorsOfCompounds), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.COMPOUND_ADDED_TO_COLOR_GROUP, - getCollectionOfDatasetColors(currentColorsOfCompounds), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.REPRESENTATION_UPDATED, - getCollectionOfDatasetOfRepresentation(currentobjectsInView), - currentActions - ); - - getCurrentActionList( - orderedActionList, - actionType.REPRESENTATION_CHANGED, - getCollectionOfDatasetOfRepresentation(currentobjectsInView), - currentActions - ); - - getCommonLastActionByType(orderedActionList, actionType.POSE_WINDOW_ACTION, currentActions); - getCommonLastActionByType(orderedActionList, actionType.INSPIRATION_WINDOW_ACTION, currentActions); - getCommonLastActionByType(orderedActionList, actionType.TAB, currentActions); - getCommonLastActionByType(orderedActionList, actionType.DATASET_INDEX, currentActions); - getCommonLastActionByType(orderedActionList, actionType.DATASET_FILTER, currentActions); - getCommonLastActionByType(orderedActionList, actionType.DATASET_FILTER_SCORE, currentActions); - getLastColorFilterActions(orderedActionList, actionType.COLOR_FILTER_TURNED_OFF, currentActions); - getCommonLastActionByType(orderedActionList, actionType.CLASS_UPDATED, currentActions); - getCommonLastActionByType(orderedActionList, actionType.ISO_LEVEL_EVENT, currentActions); - getCommonLastActionByType(orderedActionList, actionType.BOX_SIZE_EVENT, currentActions); - getCommonLastActionByType(orderedActionList, actionType.OPACITY_EVENT, currentActions); - getCommonLastActionByType(orderedActionList, actionType.CONTOUR_EVENT, currentActions); - getCommonLastActionByType(orderedActionList, actionType.COLOR_EVENT, currentActions); - getCommonLastActionByType(orderedActionList, actionType.ISO_LEVEL_SIGMAA, currentActions); - getCommonLastActionByType(orderedActionList, actionType.BOX_SIZE_SIGMAA, currentActions); - getCommonLastActionByType(orderedActionList, actionType.OPACITY_SIGMAA, currentActions); - getCommonLastActionByType(orderedActionList, actionType.CONTOUR_SIGMAA, currentActions); - getCommonLastActionByType(orderedActionList, actionType.COLOR_SIGMAA, currentActions); - getCommonLastActionByType(orderedActionList, actionType.ISO_LEVEL_DIFF, currentActions); - getCommonLastActionByType(orderedActionList, actionType.BOX_SIZE_DIFF, currentActions); - getCommonLastActionByType(orderedActionList, actionType.OPACITY_DIFF, currentActions); - getCommonLastActionByType(orderedActionList, actionType.CONTOUR_DIFF, currentActions); - getCommonLastActionByType(orderedActionList, actionType.COLOR_DIFF, currentActions); - getCommonLastActionByType(orderedActionList, actionType.WARNING_ICON, currentActions); - getCommonLastActionByType(orderedActionList, actionType.BACKGROUND_COLOR_CHANGED, currentActions); - getCommonLastActionByType(orderedActionList, actionType.CLIP_NEAR, currentActions); - getCommonLastActionByType(orderedActionList, actionType.CLIP_FAR, currentActions); - getCommonLastActionByType(orderedActionList, actionType.CLIP_DIST, currentActions); - getCommonLastActionByType(orderedActionList, actionType.FOG_NEAR, currentActions); - getCommonLastActionByType(orderedActionList, actionType.FOG_FAR, currentActions); - getCommonLastActionByType(orderedActionList, actionType.SEARCH_STRING, currentActions); - getCommonLastActionByType(orderedActionList, actionType.SEARCH_STRING_HIT_NAVIGATOR, currentActions); - getCommonLastActionByType(orderedActionList, actionType.TAG_DETAIL_VIEW, currentActions); - getCommonLastActionByType(orderedActionList, actionType.SELECTED_SELECT_ALL_BUTTON_FOR_DATASET, currentActions); - getCommonLastActionByType(orderedActionList, actionType.SELECT_ALL_DATASET_COMPOUNDS, currentActions); - - // Since drag and drop state can be influenced by filter as well, determine its state by the last influential action - const action = orderedActionList.find(action => - [actionType.DRAG_DROP_FINISHED, actionType.DATASET_FILTER].includes(action.type) - ); - if (action) { - currentActions.push({ ...action, type: actionType.DRAG_DROP_FINISHED }); - } - - // Sides - getLastActionByCriteria(orderedActionList, actionType.TURN_SIDE, action => action.side === 'LHS', currentActions); - getLastActionByCriteria(orderedActionList, actionType.TURN_SIDE, action => action.side === 'RHS', currentActions); - - if (nglViewList) { - let nglStateList = nglViewList.map(nglView => { - return { id: nglView.id, orientation: nglView.stage.viewerControls.getOrientation() }; - }); - - let trackAction = { - type: actionType.NGL_STATE, - timestamp: Date.now(), - nglStateList: nglStateList - }; - - currentActions.push(Object.assign({ ...trackAction })); - } - - if (!isAnonymousSnapshot) { - await dispatch(saveSnapshotAction(snapshot, project, currentActions)); - } - await dispatch(saveTrackingActions(currentActions, snapshotID)); - dispatch(setCurrentActionsList(currentActions)); - } -}; - -const saveSnapshotAction = (snapshot, project, currentActions) => async (dispatch, getState) => { - const state = getState(); - const trackingImageSource = state.trackingReducers.trackingImageSource; - - let sendActions = []; - let snapshotAction = { - type: actionType.SNAPSHOT, - timestamp: Date.now(), - object_name: snapshot.title, - object_id: snapshot.id, - snapshotId: snapshot.id, - text: `Snapshot: ${snapshot.id} - ${snapshot.title}`, - image: trackingImageSource - }; - sendActions.push(snapshotAction); - currentActions.push(snapshotAction); - await dispatch(sendTrackingActions(sendActions, project)); -}; - -const setSnapshotToActions = (actionList, snapshot, projectID, project, nglViewList, addToSnapshot) => async ( - dispatch, - getState -) => { - if (actionList && snapshot) { - let actionsWithoutSnapshot = actionList.filter(a => a.snapshotId === null || a.snapshotId === undefined); - let updatedActions = actionsWithoutSnapshot.map(obj => ({ ...obj, snapshotId: snapshot.id })); - dispatch(setAndUpdateTrackingActions(updatedActions, projectID)); - - if (addToSnapshot === true) { - await dispatch(saveActionsList(project, snapshot, updatedActions, nglViewList)); - } - } -}; - -const setSnapshotToAllActions = (actionList, snapshot, projectID) => async (dispatch, getState) => { - if (actionList && snapshot) { - let updatedActions = actionList.map(obj => ({ ...obj, snapshotId: snapshot.id })); - dispatch(setAndUpdateTrackingActions(updatedActions, projectID)); - } -}; - -export const saveTrackingActions = (currentActions, snapshotID) => async (dispatch, getState) => { - const state = getState(); - const project = state.projectReducers.currentProject; - const projectID = project && project.projectID; - - if (snapshotID) { - dispatch(setIsActionsSaving(true)); - - const dataToSend = { - session_project: projectID, - author: project.authorID, - snapshot: snapshotID, - last_update_date: moment().format(), - actions: JSON.stringify(currentActions) - }; - return api({ - url: `${base_url}/api/snapshot-actions/`, - method: METHOD.POST, - data: JSON.stringify(dataToSend) - }) - .then(response => { - dispatch(setCurrentActionsList([])); - }) - .catch(error => { - throw new Error(error); - }) - .finally(() => { - dispatch(setIsActionsSaving(false)); - }); - } else { - return Promise.resolve(); - } -}; - -// const getCurrentActionListForTags = (orderedActionList, type, collection, currentActions) => { -// let actionList = orderedActionList.filter(action => action.type === type); -// }; - -const getCurrentActionList = (orderedActionList, type, collection, currentActions) => { - let actionList = orderedActionList.filter(action => action.type === type); - - if (collection) { - collection.forEach(data => { - let actions = []; - if (data.hasOwnProperty('color')) { - actions = actionList.filter( - a => a.object_id === data.id && a.dataset_id === data.datasetId && a.color_class === data.color - ); - } else { - actions = actionList.filter(a => a.object_id === data.id && a.dataset_id === data.datasetId); - } - - if (actions.length > 0) { - actions.forEach(action => currentActions.push(Object.assign({ ...action }))); - } - }); - } -}; - -const getCurrentActionListDensity = (orderedActionList, type, collection, currentActions) => { - let actionList = orderedActionList.filter(action => action.type === type); - - if (collection) { - collection.forEach(data => { - const action = actionList.find(a => a.object_id === data.id && a.dataset_id === data.datasetId); - - if (action) { - currentActions.push({ ...action }); - } - }); - } -}; - -const getLastColorFilterActions = (orderedActionList, type, currentActions) => { - let actionList = orderedActionList.filter(action => action.type === type); - Object.keys(compoundsColors).forEach(color => { - let action = actionList.find(action => action.value === color); - if (action) { - currentActions.push({ ...action }); - } - }); -}; - -const getCommonLastActionByType = (orderedActionList, type, currentActions) => { - let action = orderedActionList.find(action => action.type === type); - if (action) { - currentActions.push(Object.assign({ ...action })); - } -}; - -const getLastActionByCriteria = (orderedActionList, type, criteriaFunction, currentActions) => { - const action = orderedActionList.find(action => action.type === type && criteriaFunction(action)); - if (action) { - currentActions.push({ ...action }); - } -}; - -const getCurrentActionListOfAllSelection = ( - orderedActionList, - type, - collection, - currentActions, - ligandList, - proteinList, - complexList -) => { - let actionList = orderedActionList.filter(action => action.type === type); - - if (collection) { - collection.forEach(data => { - let action = actionList.find(action => action.object_id === data.id && action.dataset_id === data.datasetId); - - if (action) { - let ligandAction = ligandList.find( - data => data.id === action.object_id && action.dataset_id === data.datasetId - ); - let proteinAction = proteinList.find( - data => data.id === action.object_id && action.dataset_id === data.datasetId - ); - let complexAction = complexList.find( - data => data.id === action.object_id && action.dataset_id === data.datasetId - ); - - let isLigand = ligandAction && ligandAction != null ? true : false; - let isProtein = proteinAction && proteinAction != null ? true : false; - let isComplex = complexAction && complexAction != null ? true : false; - currentActions.push( - Object.assign({ ...action, isLigand: isLigand, isProtein: isProtein, isComplex: isComplex }) - ); - } - }); - } -}; - -const getCurrentActionListOfAllSelectionByType = (orderedActionList, type, controlType, collection, currentActions) => { - let action = orderedActionList.find( - action => - action.type === type && - action.control_type === controlType && - (action.object_type === actionObjectType.MOLECULE || action.object_type === actionObjectType.INSPIRATION) - ); - if (action && collection) { - let actionItems = action.items; - let items = []; - collection.forEach(data => { - let item = actionItems.find(action => action.id === data.id && action.dataset_id === data.datasetId); - if (item) { - items.push(item); - } - }); - - currentActions.push(Object.assign({ ...action, items: items })); - } -}; - -const getCurrentActionListOfAllSelectionByTypeOfDataset = ( - orderedActionList, - type, - controlType, - collection, - currentActions -) => { - let action = orderedActionList.find( - action => - action.type === type && - action.control_type === controlType && - (action.object_type === actionObjectType.COMPOUND || action.object_type === actionObjectType.CROSS_REFERENCE) - ); - if (action && collection) { - let actionItems = action.items; - let items = []; - collection.forEach(data => { - let item = actionItems.find(item => item.molecule.id === data.id && item.datasetID === data.datasetId); - if (item) { - items.push(item); - } - }); - - currentActions.push(Object.assign({ ...action, items: items })); - } -}; - -const getCurrentActionListOfSelectAllMolecules = (orderedActionList, type, collection, currentActions) => { - let action = orderedActionList.find(action => action.type === type); - if (action) { - let actionItems = action.items; - let items = []; - actionItems?.forEach(ai => { - if (ai.associatedObs && ai.associatedObs.length > 0) { - items.push(...ai.associatedObs); - } - }); - - currentActions.push(Object.assign({ ...action, items: items })); - } -}; - -const getCurrentActionListOfSelectAllVisibleHits = (orderedActionList, type, collection, currentActions) => { - let action = orderedActionList.find(action => action.type === type); - if (action) { - currentActions.push(Object.assign({ ...action })); - } -}; - -const getCurrentActionListOfPaintAllMolecules = (orderedActionList, type, collection, currentActions) => { - const definedColors = Object.keys(compoundsColors); - definedColors.forEach(color => { - let action = orderedActionList.find(action => action.type === type && action.color === color); - if (action && collection) { - const datasetId = action.dataset_id; - let actionItems = action.items; - let items = []; - collection.forEach(data => { - if (data.datasetId === datasetId && data.color === color) { - let item = actionItems.find(ai => ai === data.id); - if (item) { - items.push(item); - } - } - }); - currentActions.push(Object.assign({ ...action, items: items })); - } - }); -}; - -const getCurrentActionListOfShoppingCart = (orderedActionList, type, collection, currentActions) => { - let actionList = orderedActionList.filter(action => action.type === type); - - if (collection) { - collection.forEach(data => { - let action = actionList.find(action => action.object_id === data.id && action.compoundId === data.compoundId); - - if (action) { - currentActions.push(Object.assign({ ...action })); - } - }); - } -}; - -const getCurrentActionListOfAllShopingCart = (orderedActionList, type, collection, currentActions) => { - let action = orderedActionList.find(action => action.type === type); - if (action && collection) { - let actionItems = action.items; - let items = []; - collection.forEach(data => { - let item = actionItems.find(i => i.vector === data.id && i.compoundId === data.compoundId); - if (item) { - items.push(item); - } - }); - - currentActions.push(Object.assign({ ...action, items: items })); - } -}; - -const getCollection = dataList => { - let list = []; - if (dataList) { - var result = dataList.map(value => ({ id: value })); - list.push(...result); - } - return list; -}; - -const getCollectionOfDataset = dataList => { - let list = []; - if (dataList) { - for (const datasetId in dataList) { - let values = dataList[datasetId]; - if (values) { - var result = values.map(value => ({ id: value, datasetId: datasetId })); - list.push(...result); - } - } - } - return list; -}; - -const getCollectionOfDatasetColors = dataList => { - let list = []; - if (dataList) { - for (const datasetId in dataList) { - let values = dataList[datasetId]; - if (values) { - for (const cmpId in values) { - const colors = values[cmpId]; - var result = colors?.map(color => ({ id: Number(cmpId), datasetId: datasetId, color: color })); - list.push(...result); - } - } - } - } - return list; -}; - -const getCollectionOfShoppingCart = dataList => { - let list = []; - if (dataList) { - dataList.forEach(data => { - let value = data.vector; - if (value) { - list.push({ id: value, compoundId: data.compoundId }); - } - }); - } - return list; -}; - -const getCollectionOfDatasetOfRepresentation = dataList => { - let list = []; - for (const view in dataList) { - let objectView = dataList[view]; - if (objectView && objectView !== null && objectView.display_div === VIEWS.MAJOR_VIEW) { - let value = dataList[view].name; - if (value) { - list.push({ id: value }); - } - } - } - return list; -}; - -export const resetRestoringState = () => (dispatch, getState) => { - dispatch(setActionsList([])); - dispatch(setProjectActionList([])); - dispatch(setSendActionsList([])); - - dispatch(setTargetOn(undefined)); - dispatch(setIsActionsRestoring(false, false)); -}; - -export const restoreCurrentActionsList = snapshotID => async (dispatch, getState) => { - const state = getState(); - dispatch(resetTrackingState()); - dispatch(resetTargetState()); - dispatch(setTargetOn(undefined)); - - dispatch(setIsActionsRestoring(true, false)); - - await dispatch(restoreTrackingActions(snapshotID)); - dispatch(setIsTrackingMoleculesRestoring(true)); - dispatch(setIsTrackingCompoundsRestoring(true)); - dispatch(resetTargetState()); - dispatch(resetReducersForRestoringActions()); - dispatch(restoreStateBySavedActionList()); -}; - -const restoreTrackingActions = snapshotID => async (dispatch, getState) => { - const state = getState(); - const areSnapshotActionsDownloaded = state.trackingReducers.areSnapshotActionsDownloaded; - // console.log(`snapshotDebug - restoreTrackingActions - start`); - if (snapshotID && !areSnapshotActionsDownloaded) { - try { - // console.log(`snapshotDebug - restoreTrackingActions - before getting actions`); - return api({ - url: `${base_url}/api/snapshot-actions/?snapshot=${snapshotID}` - }).then(response => { - // console.log(`snapshotDebug - restoreTrackingActions - after getting actions`); - let results = response.data.results; - // console.log(`snapshotDebug - restoreTrackingActions - no. of actions: ${results.length}`); - let listToSet = []; - results.forEach(r => { - let resultActions = JSON.parse(r.actions); - listToSet.push(...resultActions); - }); - - let snapshotActions = [...listToSet]; - dispatch(setCurrentActionsList(snapshotActions)); - dispatch(setSnapshotActionsDownloaded(true)); - // console.log(`snapshotDebug - restoreTrackingActions - end - success`); - return Promise.resolve(snapshotActions); - // return Promise.resolve(); - }); - } catch (error) { - throw new Error(error); - } - } else { - // console.log(`snapshotDebug - restoreTrackingActions - end - no snapshot`); - return Promise.resolve([]); - } -}; - -export const restoreStateBySavedActionList = () => (dispatch, getState) => { - const state = getState(); - - const currentActionList = state.trackingReducers.current_actions_list; - const orderedActionList = currentActionList.sort((a, b) => a.timestamp - b.timestamp); - - let onCancel = () => {}; - dispatch(loadTargetList(onCancel)) - .then(() => { - dispatch(restoreTargetActions(orderedActionList)); - dispatch(setIsSnapshotDirty(false)); - }) - .catch(error => { - throw new Error(error); - }); - return () => { - onCancel(); - }; -}; - -const restoreTargetActions = orderedActionList => (dispatch, getState) => { - const state = getState(); - - let targetAction = orderedActionList.find(action => action.type === actionType.TARGET_LOADED); - if (targetAction) { - let target = getTarget(targetAction.object_name, state); - if (target) { - dispatch(setTargetOn(target.id)); - } - } -}; - -export const restoreAfterTargetActions = (stages, projectId, snapshotId) => async (dispatch, getState) => { - const state = getState(); - - const areSnapshotActionsDownloaded = state.trackingReducers.areSnapshotActionsDownloaded; - let currentActionList = []; - if (!areSnapshotActionsDownloaded) { - currentActionList = await dispatch(restoreTrackingActions(snapshotId)); - } else { - currentActionList = state.trackingReducers.current_actions_list; - } - - //for some reason we have empty actions here... sometimes - currentActionList = currentActionList.filter(a => Object.keys(a).length > 0); - - // const currentActionList = state.trackingReducers.current_actions_list; - let orderedActionList = currentActionList.sort((a, b) => a.timestamp - b.timestamp); - // console.log(`snapshotDebug - restoreAfterTargetActions - no. of actions: ${orderedActionList.length}`); - const targetId = state.apiReducers.target_on; - - if (targetId && stages && stages.length > 0) { - const majorView = stages.find(view => view.id === VIEWS.MAJOR_VIEW); - - await dispatch(loadProteinOfRestoringActions({ nglViewList: stages })); - - await dispatch( - loadMoleculeGroupsOfTarget({ - isStateLoaded: false, - setOldUrl: url => {}, - target_on: targetId - }) - ) - .catch(error => { - throw error; - }) - .finally(() => {}); - - await dispatch(restoreSitesActions(orderedActionList)); - // console.log(`snapshotDebug - restoreAfterTargetActions - before loadData`); - await dispatch(loadData(orderedActionList, targetId, majorView)); - // console.log(`snapshotDebug - restoreAfterTargetActions - after loadData`); - // console.log(`snapshotDebug - restoreAfterTargetActions - before restoreTagActions`); - await dispatch(restoreTagActions(orderedActionList)); - // console.log(`snapshotDebug - restoreAfterTargetActions - after restoreTagActions`); - await dispatch(restoreMoleculesActions(orderedActionList, majorView.stage)); - await dispatch(restoreRepresentationActions(orderedActionList, stages)); - await dispatch(restoreProject(projectId)); - dispatch(restoreMoleculeSelectionActions(orderedActionList)); - dispatch(restoreTabActions(orderedActionList)); - await dispatch(restoreCartActions(orderedActionList, majorView.stage)); - dispatch(restoreSnapshotImageActions(projectId)); - dispatch(restoreNglStateAction(orderedActionList, stages)); - dispatch(restoreNglSettingsAction(orderedActionList, majorView.stage)); - dispatch(restoreViewerControlActions(orderedActionList)); - dispatch(setIsActionsRestoring(false, true)); - dispatch(resetDatasetScrolledMap()); // Have a look at useScrollToSelected.js - dispatch(setScrollFiredForLHS(false)); - dispatch(setSelectedDatasetScrolled(false)); - dispatch(setIsSnapshotDirty(false)); - dispatch(restoreSearchString(orderedActionList)); - dispatch(restoreSearchStringHitNavigator(orderedActionList)); - dispatch(restoreTagDetailGrid(orderedActionList)); - dispatch(restoreSelectAllButtonForDataset(orderedActionList)); - dispatch(restoreSelectAllDatasetCompounds(orderedActionList)); - } -}; - -export const restoreMoleculeSelectionActions = orderedActionList => (dispatch, getState) => { - const state = getState(); - let actions = orderedActionList.filter(action => action.type === actionType.MOLECULE_SELECTED); - if (actions) { - actions.forEach(a => { - const mol = getMolecule(a.object_name, state); - dispatch(appendToMolListToEdit(mol.id)); - }); - } -}; - -export const restoreNglViewSettings = stages => (dispatch, getState) => { - const majorViewStage = stages.find(view => view.id === VIEWS.MAJOR_VIEW).stage; - - dispatch(restoreNglSettingsAction([], majorViewStage)); -}; - -export const restoreNglSettingsAction = (orderedActionList, majorViewStage) => (dispatch, getState) => { - const state = getState(); - const viewParams = state.nglReducers.viewParams; - - let backgroundAction = orderedActionList.find(action => action.type === actionType.BACKGROUND_COLOR_CHANGED); - if (backgroundAction && backgroundAction.newSetting !== undefined) { - let value = backgroundAction.newSetting; - dispatch(setNglBckGrndColor(value, majorViewStage)); - } else { - dispatch(setNglBckGrndColor(NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.backgroundColor], majorViewStage)); - } - - let clipNearAction = orderedActionList.find(action => action.type === actionType.CLIP_NEAR); - if (clipNearAction && clipNearAction.newSetting !== undefined) { - let value = clipNearAction.newSetting; - dispatch(setNglClipNear(value, viewParams[NGL_PARAMS.clipNear], majorViewStage)); - } else { - dispatch( - setNglClipNear(NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.clipNear], viewParams[NGL_PARAMS.clipNear], majorViewStage) - ); - } - - let clipFarAction = orderedActionList.find(action => action.type === actionType.CLIP_FAR); - if (clipFarAction && clipFarAction.newSetting !== undefined) { - let value = clipFarAction.newSetting; - dispatch(setNglClipFar(value, viewParams[NGL_PARAMS.clipFar], majorViewStage)); - } else { - dispatch( - setNglClipFar(NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.clipFar], viewParams[NGL_PARAMS.clipFar], majorViewStage) - ); - } - - let clipDistAction = orderedActionList.find(action => action.type === actionType.CLIP_DIST); - if (clipDistAction && clipDistAction.newSetting !== undefined) { - let value = clipDistAction.newSetting; - dispatch(setNglClipDist(value, viewParams[NGL_PARAMS.clipDist], majorViewStage)); - } else { - dispatch( - setNglClipDist(NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.clipDist], viewParams[NGL_PARAMS.clipDist], majorViewStage) - ); - } - - let fogNearAction = orderedActionList.find(action => action.type === actionType.FOG_NEAR); - if (fogNearAction && fogNearAction.newSetting !== undefined) { - let value = fogNearAction.newSetting; - dispatch(setNglFogNear(value, viewParams[NGL_PARAMS.fogNear], majorViewStage)); - } else { - dispatch( - setNglFogNear(NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.fogNear], viewParams[NGL_PARAMS.fogNear], majorViewStage) - ); - } - - let fogFarAction = orderedActionList.find(action => action.type === actionType.FOG_FAR); - if (fogFarAction && fogFarAction.newSetting !== undefined) { - let value = fogFarAction.newSetting; - dispatch(setNglFogFar(value, viewParams[NGL_PARAMS.fogFar], majorViewStage)); - } else { - dispatch(setNglFogFar(NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.fogFar], viewParams[NGL_PARAMS.fogFar], majorViewStage)); - } - - let isoLevelActions = orderedActionList.filter(action => action.type.startsWith('ISO_LEVEL')); - isoLevelActions && - isoLevelActions.forEach(isoLevelAction => { - if (isoLevelAction && isoLevelAction.newSetting !== undefined) { - let value = isoLevelAction.newSetting; - if (isoLevelAction.object_name === mapTypesStrings.EVENT) { - dispatch(setIsoLevel(MAP_TYPE.event, value, viewParams[NGL_PARAMS.isolevel_DENSITY], majorViewStage)); - } else if (isoLevelAction.object_name === mapTypesStrings.DIFF) { - dispatch(setIsoLevel(MAP_TYPE.diff, value, viewParams[NGL_PARAMS.isolevel_DENSITY_MAP_diff], majorViewStage)); - } else if (isoLevelAction.object_name === mapTypesStrings.SIGMAA) { - dispatch( - setIsoLevel(MAP_TYPE.sigmaa, value, viewParams[NGL_PARAMS.isolevel_DENSITY_MAP_sigmaa], majorViewStage) - ); - } - } else { - if (isoLevelAction && isoLevelAction.object_name === mapTypesStrings.EVENT) { - dispatch( - setIsoLevel( - MAP_TYPE.event, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.isolevel_DENSITY], - viewParams[NGL_PARAMS.isolevel_DENSITY], - majorViewStage - ) - ); - } else if (isoLevelAction && isoLevelAction.object_name === mapTypesStrings.DIFF) { - dispatch( - setIsoLevel( - MAP_TYPE.diff, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.isolevel_DENSITY_MAP_diff], - viewParams[NGL_PARAMS.isolevel_DENSITY_MAP_diff], - majorViewStage - ) - ); - } else if (isoLevelAction && isoLevelAction.object_name === mapTypesStrings.SIGMAA) { - dispatch( - setIsoLevel( - MAP_TYPE.sigmaa, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.isolevel_DENSITY_MAP_sigmaa], - viewParams[NGL_PARAMS.isolevel_DENSITY_MAP_sigmaa], - majorViewStage - ) - ); - } - } - }); - - let boxSizeActions = orderedActionList.filter(action => action.type.startsWith('BOX_SIZE')); - boxSizeActions && - boxSizeActions.forEach(boxSizeAction => { - if (boxSizeAction && boxSizeAction.newSetting !== undefined) { - let value = boxSizeAction.newSetting; - if (boxSizeAction.object_name === mapTypesStrings.EVENT) { - dispatch(setBoxSize(MAP_TYPE.event, value, viewParams[NGL_PARAMS.boxSize_DENSITY], majorViewStage)); - } else if (boxSizeAction.object_name === mapTypesStrings.DIFF) { - dispatch(setBoxSize(MAP_TYPE.diff, value, viewParams[NGL_PARAMS.boxSize_DENSITY_MAP_diff], majorViewStage)); - } else if (boxSizeAction.object_name === mapTypesStrings.SIGMAA) { - dispatch( - setBoxSize(MAP_TYPE.sigmaa, value, viewParams[NGL_PARAMS.boxSize_DENSITY_MAP_sigmaa], majorViewStage) - ); - } - } else { - if (boxSizeAction && boxSizeAction.object_name === mapTypesStrings.EVENT) { - dispatch( - setBoxSize( - MAP_TYPE.event, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.boxSize_DENSITY], - viewParams[NGL_PARAMS.boxSize_DENSITY], - majorViewStage - ) - ); - } else if (boxSizeAction && boxSizeAction.object_name === mapTypesStrings.DIFF) { - dispatch( - setBoxSize( - MAP_TYPE.diff, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.boxSize_DENSITY_MAP_diff], - viewParams[NGL_PARAMS.boxSize_DENSITY_MAP_diff], - majorViewStage - ) - ); - } else if (boxSizeAction && boxSizeAction.object_name === mapTypesStrings.SIGMAA) { - dispatch( - setBoxSize( - MAP_TYPE.sigmaa, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.boxSize_DENSITY_MAP_sigmaa], - viewParams[NGL_PARAMS.boxSize_DENSITY_MAP_sigmaa], - majorViewStage - ) - ); - } - } - }); - - let opacityActions = orderedActionList.filter(action => action.type.startsWith('OPACITY')); - opacityActions && - opacityActions.forEach(opacityAction => { - if (opacityAction && opacityAction.newSetting !== undefined) { - let value = opacityAction.newSetting; - if (opacityAction.object_name === mapTypesStrings.EVENT) { - dispatch(setOpacity(MAP_TYPE.event, value, viewParams[NGL_PARAMS.opacity_DENSITY], majorViewStage)); - } else if (opacityAction.object_name === mapTypesStrings.DIFF) { - dispatch(setOpacity(MAP_TYPE.diff, value, viewParams[NGL_PARAMS.opacity_DENSITY_MAP_diff], majorViewStage)); - } else if (opacityAction.object_name === mapTypesStrings.SIGMAA) { - dispatch( - setOpacity(MAP_TYPE.sigmaa, value, viewParams[NGL_PARAMS.opacity_DENSITY_MAP_sigmaa], majorViewStage) - ); - } - } else { - if (opacityAction && opacityAction.object_name === mapTypesStrings.EVENT) { - dispatch( - setOpacity( - MAP_TYPE.event, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.opacity_DENSITY], - viewParams[NGL_PARAMS.opacity_DENSITY], - majorViewStage - ) - ); - } else if (opacityAction && opacityAction.object_name === mapTypesStrings.DIFF) { - dispatch( - setOpacity( - MAP_TYPE.diff, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.opacity_DENSITY_MAP_diff], - viewParams[NGL_PARAMS.opacity_DENSITY_MAP_diff], - majorViewStage - ) - ); - } else if (opacityAction && opacityAction.object_name === mapTypesStrings.SIGMAA) { - dispatch( - setOpacity( - MAP_TYPE.sigmaa, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.opacity_DENSITY_MAP_sigmaa], - viewParams[NGL_PARAMS.opacity_DENSITY_MAP_sigmaa], - majorViewStage - ) - ); - } - } - }); - - let contourActions = orderedActionList.filter(action => action.type.startsWith('CONTOUR')); - contourActions && - contourActions.forEach(contourAction => { - if (contourAction && contourAction.newSetting !== undefined) { - let value = contourAction.newSetting; - if (contourAction.object_name === mapTypesStrings.EVENT) { - dispatch(setContour(MAP_TYPE.event, value, viewParams[NGL_PARAMS.contour_DENSITY], majorViewStage)); - } else if (contourAction.object_name === mapTypesStrings.DIFF) { - dispatch(setContour(MAP_TYPE.diff, value, viewParams[NGL_PARAMS.contour_DENSITY_MAP_diff], majorViewStage)); - } else if (contourAction.object_name === mapTypesStrings.SIGMAA) { - dispatch( - setContour(MAP_TYPE.sigmaa, value, viewParams[NGL_PARAMS.contour_DENSITY_MAP_sigmaa], majorViewStage) - ); - } - } else { - if (contourAction && contourAction.object_name === mapTypesStrings.EVENT) { - dispatch( - setContour( - MAP_TYPE.event, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.contour_DENSITY], - viewParams[NGL_PARAMS.contour_DENSITY], - majorViewStage - ) - ); - } else if (contourAction && contourAction.object_name === mapTypesStrings.DIFF) { - dispatch( - setContour( - MAP_TYPE.diff, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.contour_DENSITY_MAP_diff], - viewParams[NGL_PARAMS.contour_DENSITY_MAP_sigmaa], - majorViewStage - ) - ); - } else if (contourAction && contourAction.object_name === mapTypesStrings.SIGMAA) { - dispatch( - setContour( - MAP_TYPE.sigmaa, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.contour_DENSITY_MAP_sigmaa], - viewParams[NGL_PARAMS.contour_DENSITY_MAP_sigmaa], - majorViewStage - ) - ); - } - } - }); - - let colorActions = orderedActionList.filter(action => action.type.startsWith('COLOR')); - colorActions && - colorActions.forEach(colorAction => { - if (colorAction && colorAction.newSetting !== undefined) { - let value = colorAction.newSetting; - if (colorAction.object_name === mapTypesStrings.EVENT) { - dispatch( - setElectronDesityMapColor(MAP_TYPE.event, value, viewParams[NGL_PARAMS.color_DENSITY], majorViewStage) - ); - } else if (colorAction.object_name === mapTypesStrings.DIFF) { - dispatch( - setElectronDesityMapColor( - MAP_TYPE.diff, - value, - viewParams[NGL_PARAMS.color_DENSITY_MAP_diff], - majorViewStage - ) - ); - } else if (colorAction.object_name === mapTypesStrings.SIGMAA) { - dispatch( - setElectronDesityMapColor( - MAP_TYPE.sigmaa, - value, - viewParams[NGL_PARAMS.color_DENSITY_MAP_sigmaa], - majorViewStage - ) - ); - } - } else { - if (colorAction && colorAction.object_name === mapTypesStrings.EVENT) { - dispatch( - setElectronDesityMapColor( - MAP_TYPE.event, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.color_DENSITY], - viewParams[NGL_PARAMS.color_DENSITY], - majorViewStage - ) - ); - } else if (colorAction && colorAction.object_name === mapTypesStrings.DIFF) { - dispatch( - setElectronDesityMapColor( - MAP_TYPE.diff, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.color_DENSITY_MAP_diff], - viewParams[NGL_PARAMS.color_DENSITY_MAP_sigmaa], - majorViewStage - ) - ); - } else if (colorAction && colorAction.object_name === mapTypesStrings.SIGMAA) { - dispatch( - setElectronDesityMapColor( - MAP_TYPE.sigmaa, - NGL_VIEW_DEFAULT_VALUES[NGL_PARAMS.color_DENSITY_MAP_sigmaa], - viewParams[NGL_PARAMS.color_DENSITY_MAP_sigmaa], - majorViewStage - ) - ); - } - } - }); - - let warningIconAction = orderedActionList.find(action => action.type === actionType.WARNING_ICON); - if (warningIconAction && warningIconAction.newSetting !== undefined) { - let value = warningIconAction.newSetting; - dispatch(setWarningIcon(value, viewParams[COMMON_PARAMS.warningIcon], true)); - } else { - dispatch( - setWarningIcon(NGL_VIEW_DEFAULT_VALUES[COMMON_PARAMS.warningIcon], viewParams[COMMON_PARAMS.warningIcon], true) - ); - } -}; - -export const restoreNglStateAction = (orderedActionList, stages, animate = false) => async (dispatch, getState) => { - const state = getState(); - const skipOrientation = state.trackingReducers.skipOrientationChange; - - if (!skipOrientation) { - let actions = orderedActionList.filter(action => action.type === actionType.NGL_STATE); - let action = [...actions].pop(); - if (action && action.nglStateList) { - action.nglStateList.forEach(nglView => { - dispatch(setOrientation(nglView.id, nglView.orientation)); - let viewStage = stages.find(s => s.id === nglView.id); - if (viewStage) { - console.count(`Before restoring orientation - restoreNglStateAction - tracking`); - if (!animate) { - viewStage.stage.viewerControls.orient(nglView.orientation.elements); - } else { - viewStage.stage.animationControls.orient(nglView.orientation.elements, 2000); - } - console.count(`After restoring orientation - restoreNglStateAction - tracking`); - } - }); - } - } -}; - -export const restoreNglOrientationAnim = (orderedActionList, stages) => async (dispatch, getState) => { - const state = getState(); - const skipOrientation = state.trackingReducers.skipOrientationChange; - - if (!skipOrientation) { - let actions = orderedActionList.filter(action => action.type === actionType.NGL_STATE); - let action = [...actions].pop(); - if (action && action.nglStateList) { - const nglView = action.nglStateList[0]; - dispatch(setOrientation(nglView.id, nglView.orientation)); - let viewStage = stages.find(s => s.id === nglView.id); - if (viewStage) { - console.count(`Before restoring orientation - restoreNglStateAction - tracking`); - - console.count(`After restoring orientation - restoreNglStateAction - tracking`); - return viewStage.stage.animationControls.orient(nglView.orientation.elements, 2000); - } - } - } -}; - -const loadData = (orderedActionList, targetId, majorView) => async (dispatch, getState) => { - // console.log(`snapshotDebug - loadData - before loadAllMolecules`); - await dispatch(loadAllMolecules(targetId)); - // console.log(`snapshotDebug - loadData - after loadAllMolecules`); - // console.log(`snapshotDebug - loadData - before loadAllDatasets`); - await dispatch(loadAllDatasets(orderedActionList, targetId, majorView.stage)); - // console.log(`snapshotDebug - loadData - after loadAllDatasets`); -}; - -const loadAllDatasets = (orderedActionList, target_on, stage) => async (dispatch, getState) => { - dispatch(setMoleculeListIsLoading(true)); - - await dispatch(loadDataSets(target_on)); - await dispatch(loadDatasetCompoundsWithScores()); - dispatch(setMoleculeListIsLoading(false)); - - dispatch(restoreCompoundsActions(orderedActionList, stage)); -}; - -const loadAllMolecules = target_on => async (dispatch, getState) => { - await dispatch(loadMoleculesAndTagsNew(target_on)); -}; - -export const restoreSitesActions = orderedActionList => (dispatch, getState) => { - const state = getState(); - - let sitesAction = orderedActionList.filter(action => action.type === actionType.SITE_TURNED_ON); - if (sitesAction) { - sitesAction.forEach(action => { - //when restoring tags we need to actually use object_id and not object_name because it can be changed by the user in the UI pretty much anytime - const tag = getTag(action.object_id, state); - if (tag) { - dispatch(addSelectedTag(tag)); - if (tag.hidden) { - dispatch( - addToastMessage({ - level: TOAST_LEVELS.WARNING, - text: `Tag ${tag.tag} is selected in the snapshot but it's hidden.` - }) - ); - } - } - }); - } -}; - -export const restoreTagActions = orderedActionList => (dispatch, getState) => { - const state = getState(); - - let tagActions = orderedActionList.filter(action => action.type === actionType.TAG_SELECTED); - if (tagActions) { - tagActions.forEach(action => { - //when restoring tags we need to actually use object_id and not object_name because it can be changed by the user in the UI pretty much anytime - const tag = getTag(action.object_id, state); - if (tag) { - dispatch(addSelectedTag(tag)); - if (tag.hidden) { - dispatch( - addToastMessage({ - level: TOAST_LEVELS.WARNING, - text: `Tag ${tag.tag} is selected in the snapshot but it's hidden.` - }) - ); - } - } - }); - } -}; - -export const restoreMoleculesActions = (orderedActionList, stage) => async (dispatch, getState) => { - const state = getState(); - let moleculesAction = orderedActionList.filter( - action => action.object_type === actionObjectType.MOLECULE || action.object_type === actionObjectType.INSPIRATION - ); - - if (moleculesAction) { - await dispatch(addNewType(moleculesAction, actionType.LIGAND_TURNED_ON, 'ligand', stage, state)); - await dispatch(addNewType(moleculesAction, actionType.SIDECHAINS_TURNED_ON, 'protein', stage, state)); - await dispatch(addNewType(moleculesAction, actionType.INTERACTIONS_TURNED_ON, 'complex', stage, state)); - await dispatch(addNewType(moleculesAction, actionType.SURFACE_TURNED_ON, 'surface', stage, state)); - await dispatch(addNewType(moleculesAction, actionType.QUALITY_TURNED_OFF, 'quality', stage, state)); - await dispatch(addNewType(moleculesAction, actionType.VECTORS_TURNED_ON, 'vector', stage, state)); - await dispatch(addNewType(moleculesAction, actionType.DENSITY_TURNED_ON, 'density', stage, state)); - await dispatch(addNewType(moleculesAction, actionType.DENSITY_TYPE_ON, 'density', stage, state)); - await dispatch(addNewType(moleculesAction, actionType.DENSITY_CUSTOM_TURNED_ON, 'densityCustom', stage, state)); - await dispatch(restoreSelectAllMolecules(moleculesAction)); - await dispatch(restoreSelectAllVisibleHits(moleculesAction)); - await dispatch(restorePoseWindow(moleculesAction)); - } - - dispatch(restoreAllSelectionActions(orderedActionList, stage, true)); - dispatch(restoreAllSelectionByTypeActions(orderedActionList, stage, true)); - dispatch(setIsTrackingMoleculesRestoring(false)); -}; - -export const restoreCartActions = (orderedActionList, majorViewStage) => async (dispatch, getState) => { - let vectorAction = orderedActionList.find(action => action.type === actionType.VECTOR_SELECTED); - if (vectorAction) { - await dispatch(selectVectorAndResetCompounds(vectorAction.object_name)); - } - - let shoppingCartAllaction = orderedActionList.find( - action => action.type === actionType.MOLECULE_ADDED_TO_SHOPPING_CART_ALL - ); - - let shoppingCartItems = []; - - if (shoppingCartAllaction) { - let allItems = shoppingCartAllaction.items; - if (allItems) { - allItems.forEach(i => { - shoppingCartItems.push(i); - }); - } - } - - let shoppingCartActions = orderedActionList.filter( - action => action.type === actionType.MOLECULE_ADDED_TO_SHOPPING_CART - ); - if (shoppingCartActions) { - shoppingCartActions.forEach(action => { - if (action.item) { - shoppingCartItems.push(action.item); - } - }); - } - - shoppingCartItems.forEach(item => { - let data = item; - if (data) { - dispatch(handleBuyList({ isSelected: true, data, skipTracking: true })); - } - }); - - let classSelectedAction = orderedActionList.find(action => action.type === actionType.CLASS_SELECTED); - if (classSelectedAction) { - dispatch(setCurrentCompoundClass(classSelectedAction.value, classSelectedAction.oldValue)); - } - - let classUpdatedAction = orderedActionList.find(action => action.type === actionType.CLASS_UPDATED); - if (classUpdatedAction) { - let id = classUpdatedAction.object_id; - let newValue = classUpdatedAction.newCompoundClasses; - let oldValue = classUpdatedAction.oldCompoundClasses; - let value = classUpdatedAction.object_name; - value = value !== undefined ? value : ''; - dispatch(setCompoundClasses(newValue, oldValue, value, id)); - } - - let colorFilterRemoveActions = orderedActionList.filter(action => action.type === actionType.COLOR_FILTER_TURNED_OFF); - colorFilterRemoveActions?.forEach(action => { - dispatch(handleColorFilterAction(action, false)); - }); - - let vectorCompoundActions = orderedActionList.filter(action => action.type === actionType.VECTOR_COUMPOUND_ADDED); - if (vectorCompoundActions) { - vectorCompoundActions.forEach(action => { - let data = action.item; - dispatch(handleShowVectorCompound({ isSelected: true, data, majorViewStage: majorViewStage })); - }); - } -}; - -const restoreAllSelectionActions = (moleculesAction, stage, isSelection) => (dispatch, getState) => { - let state = getState(); - - let actions = - isSelection === true - ? moleculesAction.filter( - action => - action.type === actionType.ALL_TURNED_ON && - (action.object_type === actionObjectType.INSPIRATION || action.object_type === actionObjectType.MOLECULE) - ) - : moleculesAction.filter( - action => - action.type === actionType.ALL_TURNED_ON && - (action.object_type === actionObjectType.CROSS_REFERENCE || - action.object_type === actionObjectType.COMPOUND) - ); - - if (actions) { - actions.forEach(action => { - if (action) { - if (isSelection) { - const mol = getMolecule(action.object_name, state); - if (mol) { - dispatch(setSelectedAll(mol, action.isLigand, action.isProtein, action.isComplex)); - } - } else { - const compound = getCompound(action, state); - if (compound) { - dispatch( - setSelectedAllOfDataset( - action.dataset_id, - action.item, - action.isLigand, - action.isProtein, - action.isComplex - ) - ); - } - } - - if (action.isLigand) { - dispatch(handleMoleculeAction(action, 'ligand', true, stage, state, true)); - } - - if (action.isProtein) { - dispatch(handleMoleculeAction(action, 'protein', true, stage, state, true)); - } - - if (action.isComplex) { - dispatch(handleMoleculeAction(action, 'complex', true, stage, state, true)); - } - } - }); - } -}; - -const restoreSelectAllMolecules = moleculesAction => (dispatch, getState) => { - let action = moleculesAction.find(ma => ma.type === actionType.ALL_MOLECULES_SELECTED); - if (action && action.items) { - const state = getState(); - const allMolecules = state.apiReducers.all_mol_lists; - dispatch(setNextXMolecules(allMolecules.length)); - action.items.forEach(m => { - dispatch(handleSelectMoleculeByName(m.code, true)); - }); - } -}; - -const restoreSelectAllVisibleHits = moleculesAction => (dispatch, getState) => { - let action = moleculesAction.find(ma => ma.type === actionType.ALL_VISIBLE_HITS_SELECTED); - if (action && action.items) { - const state = getState(); - const allMolecules = state.apiReducers.all_mol_lists; - dispatch(setNextXMolecules(allMolecules.length)); - action.items.forEach(m => { - dispatch(handleSelectMoleculeByName(m.code, true)); - }); - } -}; - -const restorePoseWindow = moleculesAction => (dispatch, getState) => { - let action = moleculesAction.find(ma => ma.type === actionType.POSE_WINDOW_ACTION); - if (action && action.isOpen && action.items?.length > 0) { - dispatch(handlePoseWindowAction(action, false)); - } -}; - -const restoreInspirationsWindow = customDatasetAction => (dispatch, getState) => { - let action = customDatasetAction.find(ma => ma.type === actionType.INSPIRATION_WINDOW_ACTION); - if (action && action.isOpen && action.items?.length > 0) { - if (action.isSelectedList) { - dispatch(setInspirationDialogOpenedForSelectedCompounds(true)); - } - dispatch(handleInspirationsWindowAction(action, false)); - } -}; - -const restorePaintAllCompounds = compoundActions => (dispatch, getState) => { - let actions = compoundActions?.filter(ma => ma.type === actionType.ALL_COMPOUNDS_ADDED_TO_COLOR_GROUP); - actions?.forEach(action => { - if (action?.items && action?.color && action?.dataset_id) { - const state = getState(); - action.items.forEach(ai => { - const cmp = getCompoundById(ai, action.dataset_id, state); - if (cmp) { - dispatch(appendCompoundColorOfDataset(action.dataset_id, cmp.id, action.color, cmp.name, true)); - } - }); - } - }); -}; - -const restoreAllSelectionByTypeActions = (moleculesAction, stage, isSelection) => (dispatch, getState) => { - const state = getState(); - let actions = - isSelection === true - ? moleculesAction.filter( - action => - action.type === actionType.SELECTED_TURNED_ON_BY_TYPE && - (action.object_type === actionObjectType.INSPIRATION || action.object_type === actionObjectType.MOLECULE) - ) - : moleculesAction.filter( - action => - action.type === actionType.SELECTED_TURNED_ON_BY_TYPE && - (action.object_type === actionObjectType.CROSS_REFERENCE || - action.object_type === actionObjectType.COMPOUND) - ); - - if (actions) { - actions.forEach(action => { - if (action) { - // let actionItems = action.items; - let actionItems = []; - if (isSelection) { - action.items.forEach(item => { - const mol = getMolecule(item.code, state); - if (mol) { - actionItems.push(mol); - } - }); - } else { - action.items.forEach(item => { - const mol = getCompoundByName(item.code, action.dataset_id, state); - if (mol) { - actionItems.push(mol); - } - }); - } - let type = action.control_type; - - if (isSelection) { - dispatch(setSelectedAllByType(type, actionItems, action.object_type === actionObjectType.INSPIRATION)); - - actionItems.forEach(data => { - if (data) { - if (type === 'ligand') { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, true, true)); - } else if (type === 'vector') { - dispatch(addType[type](stage, data, true)); - } else if (type === 'density' || type === 'densityCustom') { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], false, true)); - } else { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true)); - } - } - }); - } else { - dispatch( - setSelectedAllByTypeOfDataset( - type, - action.dataset_id, - actionItems, - action.object_type === actionObjectType.CROSS_REFERENCE - ) - ); - - actionItems.forEach(data => { - if (data && data.molecule) { - dispatch( - addTypeCompound[type]( - stage, - data.molecule, - colourList[data.molecule.id % colourList.length], - data.datasetID, - true - ) - ); - } - }); - } - } - }); - } -}; - -export const restoreRepresentationActions = (moleculesActions, stages) => async (dispatch, getState) => { - const nglView = stages.find(view => view.id === VIEWS.MAJOR_VIEW); - const objectsInView = getState().nglReducers.objectsInView; - - let addedRepresentations = []; - let defaultStructuresMap = {}; - // fetch representations created by default of restored object - for (const [objectId, object] of Object.entries(objectsInView)) { - if (object.hasOwnProperty('representations') && object.representations?.length === 1) { - defaultStructuresMap[objectId] = object.representations[0].uuid; - } - } - // if action points to non existing representation it was probably a default one so try to map it to current default one - const fixUuid = (representationToCheck, objectId) => { - const representationExists = - objectsInView[objectId].representations.some(representation => { - return representation.uuid === representationToCheck.uuid; - }) || addedRepresentations.includes(representationToCheck.uuid); - if (!representationExists && defaultStructuresMap.hasOwnProperty(objectId)) { - representationToCheck.lastKnownID = defaultStructuresMap[objectId]; - } - }; - - // here the object id is actually protein_code_object_type and is identifier in NGL view so it's ok to use object_id in here - for (const action of moleculesActions) { - // TODO updates and changes are inconsistent and not working properly - // TODO maybe we do not need to restore representation actions one by one - // and just pass final representations from objectsInView and restore them isntead? - if (action.type === actionType.REPRESENTATION_ADDED) { - addedRepresentations.push(action.representation.uuid); - await dispatch(handleRepresentationAction(action, true, nglView)); - } else if (action.type === actionType.REPRESENTATION_UPDATED) { - fixUuid(action.representation, action.object_id); - await dispatch(handleUpdateRepresentationAction(action, true, nglView)); - } else if (action.type === actionType.REPRESENTATION_CHANGED) { - fixUuid(action.newRepresentation, action.object_id); - fixUuid(action.oldRepresentation, action.object_id); - await dispatch(changeMolecularRepresentationForSnapshotRestoration(action, nglView)); - } - } -}; - -export const restoreTabActions = moleculesAction => (dispatch, getState) => { - const state = getState(); - const customDatasets = state.datasetsReducers.datasets; - let firstCustomDatasetTitle = (customDatasets && customDatasets[0] && customDatasets[0].title) || ''; - - let action = moleculesAction.find(action => action.type === actionType.TAB); - if (action) { - //in here the object id is the tab index on the right hand side so it should be ok. BUT what if the given dataset - //was deleted? Is it even possible? - dispatch(setTabValue(action.oldObjectId, action.object_id, action.object_name, action.oldObjectName)); - } - - let indexAction = moleculesAction.find(action => action.type === actionType.DATASET_INDEX); - if (indexAction) { - dispatch( - setSelectedDatasetIndex( - indexAction.oldObjectId, - indexAction.object_id, - indexAction.object_name, - indexAction.oldObjectName - ) - ); - } else { - if (action && action.object_id === 2 && action.object_name !== firstCustomDatasetTitle) { - let dataset = customDatasets.find(d => d.title === action.object_name); - var index = customDatasets.findIndex(d => d.title === action.object_name); - - if (dataset) { - dispatch(setSelectedDatasetIndex(index, index, dataset.title, dataset.title, true)); - } - } - } - - const dragDropFinishedAction = moleculesAction.find(action => action.type === actionType.DRAG_DROP_FINISHED); - if (dragDropFinishedAction) { - const { datasetID, newDragDropState } = dragDropFinishedAction; - dispatch(setDragDropState(datasetID, newDragDropState)); - } - - let filterAction = moleculesAction.find(action => action.type === actionType.DATASET_FILTER); - if (filterAction) { - let datasetID = filterAction.datasetID; - let newFilterProperties = filterAction.newProperties; - let newFilterSettings = filterAction.newSettings; - dispatch(setDatasetFilter(datasetID, newFilterProperties, newFilterSettings, filterAction.key, null)); - dispatch(setFilterProperties(datasetID, newFilterProperties)); - dispatch(setFilterSettings(datasetID, newFilterSettings)); - } - - let filterScoreAction = moleculesAction.find(action => action.type === actionType.DATASET_FILTER_SCORE); - if (filterScoreAction) { - let datasetID = filterScoreAction.dataset_id; - dispatch( - updateFilterShowedScoreProperties({ - datasetID, - scoreList: filterScoreAction.newScoreList - }) - ); - - dispatch( - setFilterShowedScoreProperties({ - datasetID, - scoreList: filterScoreAction.newScoreList, - oldScoreList: filterScoreAction.oldScoreList, - isChecked: filterScoreAction.isChecked, - scoreName: filterScoreAction.object_name - }) - ); - } -}; - -const restoreSearchString = moleculesAction => dispatch => { - let filterSearchString = moleculesAction.find(action => action.type === actionType.SEARCH_STRING); - if (filterSearchString) { - let datasetID = filterSearchString.dataset_id; - dispatch(setSearchStringOfCompoundSet(datasetID, filterSearchString.searchString)); - } -}; - -const restoreSearchStringHitNavigator = moleculesAction => (dispatch, getState) => { - let filterSearchString = moleculesAction.find(action => action.type === actionType.SEARCH_STRING_HIT_NAVIGATOR); - if (filterSearchString) { - dispatch(setSearchStringOfHitNavigator(filterSearchString.searchStringHitNavigator)); - } -}; - -const restoreTagDetailGrid = moleculesAction => (dispatch, getState) => { - let tagDetailView = moleculesAction.find(action => action.type === actionType.TAG_DETAIL_VIEW); - if (tagDetailView) { - dispatch(setTagDetailView(tagDetailView)); - } -}; - -const restoreSelectAllButtonForDataset = moleculesAction => (dispatch, getState) => { - let selectAllButton = moleculesAction.find( - action => action.type === actionType.SELECTED_SELECT_ALL_BUTTON_FOR_DATASET - ); - if (selectAllButton) { - dispatch(setSelectAllButtonForDataset(selectAllButton.dataset_id)); - } -}; - -const restoreSelectAllDatasetCompounds = moleculesAction => (dispatch, getState) => { - let selectedAllDatasetCompounds = moleculesAction.find( - action => action.type === actionType.SELECT_ALL_DATASET_COMPOUNDS - ); - if (selectedAllDatasetCompounds) { - dispatch( - setCompoundToSelectedCompoundsByDataset( - selectedAllDatasetCompounds.selectedAllDatasetCompounds.datasetID, - selectedAllDatasetCompounds.selectedAllDatasetCompounds.selectedCompounds - ) - ); - } -}; - -export const restoreViewerControlActions = moleculesAction => dispatch => { - const turnSideActions = moleculesAction.filter(action => action.type === actionType.TURN_SIDE); - turnSideActions.forEach(action => { - const { side, open } = action; - dispatch(turnSide(side, open, true)); - }); -}; - -export const restoreSnapshotImageActions = projectID => async (dispatch, getState) => { - const state = getState(); - const isProjectActionListLoaded = state.trackingReducers.isProjectActionListLoaded; - if (!isProjectActionListLoaded) { - let actionList = await dispatch(getTrackingActions(projectID)); - let snapshotActions = actionList.filter(action => action.type === actionType.SNAPSHOT); - if (snapshotActions) { - let actions = snapshotActions.map(s => { - return { id: s.object_id, image: s.image, title: s.object_name, timestamp: s.timestamp }; - }); - const key = 'object_id'; - const arrayUniqueByKey = [...new Map(actions.map(item => [item[key], item])).values()]; - dispatch(setSnapshotImageActionList(arrayUniqueByKey)); - } - } -}; - -const restoreProject = projectId => (dispatch, getState) => { - if (projectId !== undefined) { - return api({ url: `${base_url}/api/session-projects/${projectId}/` }).then(response => { - let promises = []; - promises.push( - dispatch( - setCurrentProject({ - projectID: response.data.id, - authorID: response.data.author || null, - title: response.data.title, - description: response.data.description, - targetID: response.data.target.id, - tags: JSON.parse(response.data.tags) - }) - ) - ); - promises.push(dispatch(setProject(response.data.project))); - - return Promise.all(promises); - }); - } -}; - -export const restoreCompoundsActions = (orderedActionList, stage) => (dispatch, getState) => { - const state = getState(); - - let compoundsAction = orderedActionList.filter( - action => - action.object_type === actionObjectType.COMPOUND || action.object_type === actionObjectType.CROSS_REFERENCE - ); - - if (compoundsAction) { - dispatch(addNewTypeCompound(compoundsAction, actionType.LIGAND_TURNED_ON, 'ligand', stage, state)); - dispatch(addNewTypeCompound(compoundsAction, actionType.SIDECHAINS_TURNED_ON, 'protein', stage, state)); - dispatch(addNewTypeCompound(compoundsAction, actionType.INTERACTIONS_TURNED_ON, 'complex', stage, state)); - dispatch(addNewTypeCompound(compoundsAction, actionType.SURFACE_TURNED_ON, 'surface', stage, state)); - } - - let compoundsSelectedAction = compoundsAction?.filter(action => action.type === actionType.COMPOUND_SELECTED); - - compoundsSelectedAction.forEach(action => { - let data = getCompound(action, state); - if (data) { - dispatch(appendMoleculeToCompoundsOfDatasetToBuy(action.dataset_id, data.id, data.name)); - } - }); - - let compoundsLockedAction = compoundsAction?.filter(action => action.type === actionType.COMPOUND_LOCKED); - - compoundsLockedAction.forEach(action => { - let data = getCompound(action, state); - if (data) { - dispatch(appendCompoundToSelectedCompoundsByDataset(action.dataset_id, data.id, data.name)); - } - }); - - dispatch(restorePaintAllCompounds(compoundsAction)); - - let compoundsColorGroupActions = compoundsAction?.filter( - action => action.type === actionType.COMPOUND_ADDED_TO_COLOR_GROUP - ); - - compoundsColorGroupActions.forEach(action => { - let data = getCompound(action, state); - if (data) { - dispatch(appendCompoundColorOfDataset(action.dataset_id, data.id, action.color_class, data.name)); - } - }); - - dispatch(restoreAllSelectionActions(orderedActionList, stage, false)); - dispatch(restoreAllSelectionByTypeActions(orderedActionList, stage, false)); - dispatch(restoreInspirationsWindow(compoundsAction)); - - dispatch(setIsTrackingCompoundsRestoring(false)); -}; - -const addType = { - ligand: addLigand, - protein: addHitProtein, - complex: addComplex, - surface: addSurface, - quality: addQuality, - vector: addVector, - density: addDensity, - densityCustom: addDensityCustomView -}; - -const addTypeCompound = { - ligand: addDatasetLigand, - protein: addDatasetHitProtein, - complex: addDatasetComplex, - surface: addDatasetSurface -}; - -const removeType = { - ligand: removeLigand, - protein: removeHitProtein, - complex: removeComplex, - surface: removeSurface, - density: removeDensity, - quality: removeQuality, - vector: removeVector -}; - -const removeTypeCompound = { - ligand: removeDatasetLigand, - protein: removeDatasetHitProtein, - complex: removeDatasetComplex, - surface: removeDatasetSurface -}; - -const addNewType = (moleculesAction, actionType, type, stage, state, skipTracking = false) => async ( - dispatch, - getState -) => { - let actions = moleculesAction.filter(action => action.type === actionType); - if (actions) { - for (const action of actions) { - const freshState = getState(); - let data = getMolecule(action.object_name, freshState); - if (data) { - if (type === 'ligand') { - await dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, true, skipTracking)); - } else if (type === 'protein') { - await dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, skipTracking)); - } else if (type === 'vector') { - await dispatch(addType[type](stage, data, true)); - } else if (type === 'density' || type === 'densityCustom') { - if (!data.proteinData) { - await dispatch(getProteinData(data)).then(i => { - const proteinData = i; - if (type === 'density') { - data.proteinData = proteinData; - data.proteinData.render_event = !!action.render_event; - data.proteinData.render_diff = !!action.render_diff; - data.proteinData.render_sigmaa = !!action.render_sigmaa; - data.proteinData.render_quality = !!action.render_quality; - } - }); - if (type === 'density') { - await dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, skipTracking)); - } else { - await dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, skipTracking)); - } - } else { - if (type === 'density') { - data.proteinData.render_event = !!action.render_event; - data.proteinData.render_diff = !!action.render_diff; - data.proteinData.render_sigmaa = !!action.render_sigmaa; - data.proteinData.render_quality = !!action.render_quality; - } - if (type === 'density') { - await dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, skipTracking)); - } else { - await dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, skipTracking)); - } - } - } else if (type === 'quality') { - await dispatch(removeType[type](stage, data, colourList[data.id % colourList.length], skipTracking)); - } else { - await dispatch(addType[type](stage, data, colourList[data.id % colourList.length], skipTracking)); - } - } - } - } -}; - -const addNewTypeOfAction = (action, type, stage, state, skipTracking = false) => dispatch => { - if (action) { - let data = getMolecule(action.object_name, state); - if (data) { - if (type === 'ligand') { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, true, skipTracking)); - } else if (type === 'vector') { - dispatch(addType[type](stage, data, true)); - } else if (type === 'density' || type === 'densityCustom') { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, skipTracking)); - } else { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], skipTracking)); - } - } - } -}; - -const addNewTypeCompound = (moleculesAction, actionType, type, stage, state, skipTracking = false) => dispatch => { - let actions = moleculesAction.filter(action => action.type === actionType); - if (actions) { - actions.forEach(action => { - let data = getCompound(action, state); - if (data) { - dispatch( - addTypeCompound[type](stage, data, colourList[data.id % colourList.length], action.dataset_id, skipTracking) - ); - } - }); - } -}; - -const addNewTypeCompoundOfAction = (action, type, stage, state, skipTracking = false) => dispatch => { - if (action) { - let data = getCompound(action, state); - if (data) { - dispatch( - addTypeCompound[type](stage, data, colourList[data.id % colourList.length], action.dataset_id, skipTracking) - ); - } - } -}; - -const getTarget = (targetName, state) => { - let targetList = state.apiReducers.target_id_list; - let target = targetList.find(target => target.title === targetName); - return target; -}; - -const getTag = (tagId, state) => { - const tagList = state.apiReducers.tagList; - const tag = tagList.find(t => t.id === tagId); - return tag; -}; - -export const getMolecule = (moleculeName, state) => { - let moleculeList = state.apiReducers.all_mol_lists; - let molecule = null; - - molecule = moleculeList.find(m => m.code === moleculeName); - - return molecule; -}; - -export const getCompound = (action, state) => { - let moleculeList = state.datasetsReducers.moleculeLists; - let molecule = null; - - let name = action.object_name; - let datasetID = action.dataset_id; - - if (moleculeList) { - let moleculeListOfDataset = moleculeList[datasetID]; - if (moleculeListOfDataset) { - molecule = moleculeListOfDataset.find(m => m.name === name); - } - } - return molecule; -}; - -export const getCompoundByName = (name, datasetID, state) => { - let moleculeList = state.datasetsReducers.moleculeLists; - let molecule = null; - - if (moleculeList) { - let moleculeListOfDataset = moleculeList[datasetID]; - if (moleculeListOfDataset) { - molecule = moleculeListOfDataset.find(m => m.name === name); - } - } - return molecule; -}; - -export const getCompoundById = (cmpId, datasetID, state) => { - let moleculeList = state.datasetsReducers.moleculeLists; - let molecule = null; - - if (moleculeList) { - let moleculeListOfDataset = moleculeList[datasetID]; - if (moleculeListOfDataset) { - molecule = moleculeListOfDataset.find(m => m.id === cmpId); - } - } - return molecule; -}; - -export const undoAction = (stages = []) => (dispatch, getState) => { - dispatch(setIsUndoRedoAction(true)); - let action = dispatch(getUndoAction()); - if (action) { - Promise.resolve(dispatch(handleUndoAction(action, stages))).then(() => { - dispatch(setIsUndoRedoAction(false)); - }); - } -}; - -const getUndoAction = () => (dispatch, getState) => { - const state = getState(); - const actionUndoList = state.undoableTrackingReducers.future; - - let action = { text: '' }; - let actions = actionUndoList && actionUndoList[0]; - if (actions) { - let actionsLenght = actions.undo_redo_actions_list.length; - actionsLenght = actionsLenght > 0 ? actionsLenght - 1 : actionsLenght; - action = actions.undo_redo_actions_list[actionsLenght]; - } - - return action; -}; - -const getRedoAction = () => (dispatch, getState) => { - const state = getState(); - const actions = state.undoableTrackingReducers.present; - - let action = { text: '' }; - if (actions) { - let actionsLenght = actions.undo_redo_actions_list.length; - actionsLenght = actionsLenght > 0 ? actionsLenght - 1 : actionsLenght; - action = actions.undo_redo_actions_list[actionsLenght]; - } - - return action; -}; - -const getNextUndoAction = () => (dispatch, getState) => { - const state = getState(); - const actionUndoList = state.undoableTrackingReducers.present; - - let action = { text: '' }; - let actions = actionUndoList && actionUndoList.undo_redo_actions_list; - if (actions) { - let actionsLenght = actions.length; - actionsLenght = actionsLenght > 0 ? actionsLenght - 1 : actionsLenght; - action = actions[actionsLenght]; - } - - return action; -}; - -const getNextRedoAction = () => (dispatch, getState) => { - const state = getState(); - const actionUndoList = state.undoableTrackingReducers.future; - - let action = { text: '' }; - let actionss = actionUndoList && actionUndoList[0]; - - let actions = actionss && actionss.undo_redo_actions_list; - if (actions) { - let actionsLenght = actions.length; - actionsLenght = actionsLenght > 0 ? actionsLenght - 1 : actionsLenght; - action = actions[actionsLenght]; - } - - return action; -}; - -export const redoAction = (stages = []) => (dispatch, getState) => { - dispatch(setIsUndoRedoAction(true)); - let action = dispatch(getRedoAction()); - if (action) { - Promise.resolve(dispatch(dispatch(handleRedoAction(action, stages)))).then(() => { - dispatch(setIsUndoRedoAction(false)); - }); - } -}; - -const handleUndoAction = (action, stages) => (dispatch, getState) => { - const state = getState(); - - if (action) { - const majorView = stages.find(view => view.id === VIEWS.MAJOR_VIEW); - // const summaryView = stages.find(view => view.id === VIEWS.SUMMARY_VIEW); - // const stageSummaryView = summaryView.stage; - const majorViewStage = majorView.stage; - - const type = action.type; - switch (type) { - case actionType.ALL_HIDE: - dispatch(handleAllHideAction(action, true, majorViewStage)); - break; - case actionType.ALL_TURNED_ON: - dispatch(handleAllAction(action, false, majorViewStage, state)); - break; - case actionType.ALL_TURNED_OFF: - dispatch(handleAllAction(action, true, majorViewStage, state)); - break; - case actionType.SELECTED_TURNED_ON_BY_TYPE: - dispatch(handleAllActionByType(action, false, majorViewStage)); - break; - case actionType.ALL_TURNED_OFF_BY_TYPE: - dispatch(handleAllActionByType(action, true, majorViewStage)); - break; - case actionType.LIGAND_TURNED_ON: - dispatch(handleMoleculeAction(action, 'ligand', false, majorViewStage, state)); - break; - case actionType.SIDECHAINS_TURNED_ON: - dispatch(handleMoleculeAction(action, 'protein', false, majorViewStage, state)); - break; - case actionType.INTERACTIONS_TURNED_ON: - dispatch(handleMoleculeAction(action, 'complex', false, majorViewStage, state)); - break; - case actionType.SURFACE_TURNED_ON: - dispatch(handleMoleculeAction(action, 'surface', false, majorViewStage, state)); - break; - case actionType.QUALITY_TURNED_ON: - dispatch(handleMoleculeAction(action, 'quality', false, majorViewStage, state)); - break; - case actionType.DENSITY_TURNED_ON: - dispatch(handleDensityMoleculeAction(action, 'density', false, majorViewStage, state)); - break; - case actionType.DENSITY_TYPE_ON: - dispatch(handleDensityMoleculeAction(action, 'density', false, majorViewStage, state)); - break; - case actionType.DENSITY_CUSTOM_TURNED_ON: - dispatch(handleDensityMoleculeAction(action, 'densityCustom', false, majorViewStage, state)); - break; - case actionType.VECTORS_TURNED_ON: - dispatch(handleMoleculeAction(action, 'vector', false, majorViewStage, state)); - break; - case actionType.LIGAND_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'ligand', true, majorViewStage, state)); - break; - case actionType.SIDECHAINS_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'protein', true, majorViewStage, state)); - break; - case actionType.INTERACTIONS_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'complex', true, majorViewStage, state)); - break; - case actionType.SURFACE_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'surface', true, majorViewStage, state)); - break; - case actionType.QUALITY_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'quality', true, majorViewStage, state)); - break; - case actionType.DENSITY_TURNED_OFF: - dispatch(handleDensityMoleculeAction(action, 'density', true, majorViewStage, state)); - break; - case actionType.DENSITY_TYPE_OFF: - dispatch(handleDensityMoleculeAction(action, 'density', true, majorViewStage, state)); - break; - case actionType.VECTORS_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'vector', true, majorViewStage, state)); - break; - case actionType.ARROW_NAVIGATION: - dispatch(handleArrowNavigationAction(action, false, majorViewStage)); - break; - case actionType.POSE_WINDOW_ACTION: - dispatch(handlePoseWindowAction(action, true)); - break; - case actionType.INSPIRATION_WINDOW_ACTION: - dispatch(handleInspirationsWindowAction(action, true)); - break; - case actionType.VECTOR_SELECTED: - dispatch(handleVectorAction(action, false)); - break; - case actionType.VECTOR_DESELECTED: - dispatch(handleVectorAction(action, true)); - break; - case actionType.VECTOR_COUMPOUND_ADDED: - dispatch(handleVectorCompoundAction(action, false, majorViewStage)); - break; - case actionType.VECTOR_COUMPOUND_REMOVED: - dispatch(handleVectorCompoundAction(action, true, majorViewStage)); - break; - case actionType.CLASS_SELECTED: - dispatch(handleClassSelectedAction(action, false)); - break; - case actionType.CLASS_UPDATED: - dispatch(handleClassUpdatedAction(action, false)); - break; - case actionType.COLOR_FILTER_TURNED_ON: - dispatch(handleColorFilterAction(action, false)); - break; - case actionType.COLOR_FILTER_TURNED_OFF: - dispatch(handleColorFilterAction(action, true)); - break; - case actionType.TARGET_LOADED: - dispatch(handleTargetAction(action, false)); - break; - case actionType.SITE_TURNED_ON: - dispatch(handleMoleculeGroupAction(action, false)); - break; - case actionType.SITE_TURNED_OFF: - dispatch(handleMoleculeGroupAction(action, true)); - break; - case actionType.TAG_SELECTED: - dispatch(handleTagAction(action, false)); - break; - case actionType.TAG_UNSELECTED: - dispatch(handleTagAction(action, true)); - break; - case actionType.MOLECULE_ADDED_TO_SHOPPING_CART: - dispatch(handleShoppingCartAction(action, false)); - break; - case actionType.MOLECULE_REMOVED_FROM_SHOPPING_CART: - dispatch(handleShoppingCartAction(action, true)); - break; - case actionType.MOLECULE_ADDED_TO_SHOPPING_CART_ALL: - dispatch(handleShoppingCartAllAction(action, false, majorViewStage)); - break; - case actionType.MOLECULE_REMOVED_FROM_SHOPPING_CART_ALL: - dispatch(handleShoppingCartAllAction(action, true, majorViewStage)); - break; - case actionType.COMPOUND_SELECTED: - dispatch(handleCompoundAction(action, false)); - break; - case actionType.COMPOUND_DESELECTED: - dispatch(handleCompoundAction(action, true)); - break; - case actionType.COMPOUND_LOCKED: - dispatch(handleCompoundLockAction(action, false)); - break; - case actionType.COMPOUND_UNLOCKED: - dispatch(handleCompoundLockAction(action, true)); - break; - case actionType.COMPOUND_ADDED_TO_COLOR_GROUP: - dispatch(handleCompoundColorAction(action, false)); - break; - case actionType.COMPOUND_REMOVED_FROM_COLOR_GROUP: - dispatch(handleCompoundColorAction(action, true)); - break; - case actionType.ALL_COMPOUNDS_ADDED_TO_COLOR_GROUP: - dispatch(handlePaintAllCompoundsAction(action, false)); - break; - case actionType.ALL_COMPOUNDS_REMOVED_FROM_COLOR_GROUP: - dispatch(handlePaintAllCompoundsAction(action, true)); - break; - case actionType.MOLECULE_SELECTED: - dispatch(handleSelectMoleculeAction(action, false)); - break; - case actionType.MOLECULE_UNSELECTED: - dispatch(handleSelectMoleculeAction(action, true)); - break; - case actionType.ALL_MOLECULES_SELECTED: - dispatch(handleSelectAllMolecules(action, false)); - break; - case actionType.ALL_MOLECULES_UNSELECTED: - dispatch(handleSelectAllMolecules(action, true)); - break; - case actionType.ALL_VISIBLE_HITS_SELECTED: - dispatch(handleSelectAllVisibleHits(action, false)); - break; - case actionType.ALL_VISIBLE_HITS_UNSELECTED: - dispatch(handleSelectAllVisibleHits(action, true)); - break; - case actionType.TAB: - dispatch(handleTabAction(action, false)); - break; - case actionType.DATASET_INDEX: - dispatch(handleTabAction(action, false)); - break; - case actionType.DATASET_FILTER: - dispatch(handleFilterAction(action, false)); - break; - case actionType.DATASET_FILTER_SCORE: - dispatch(handleFilterScoreAction(action, false)); - break; - case actionType.DRAG_DROP_FINISHED: - dispatch(handleDragDropFinished(action, false)); - break; - case actionType.REPRESENTATION_VISIBILITY_UPDATED: - dispatch(handleUpdateRepresentationVisibilityAction(action, false, majorView)); - break; - case actionType.REPRESENTATION_VISIBILITY_ALL_UPDATED: - dispatch(handleUpdateRepresentationVisibilityAllAction(action, false, majorView)); - break; - case actionType.REPRESENTATION_UPDATED: - dispatch(handleUpdateRepresentationAction(action, false, majorView)); - break; - case actionType.REPRESENTATION_ADDED: - dispatch(handleRepresentationAction(action, false, majorView)); - break; - case actionType.REPRESENTATION_REMOVED: - dispatch(handleRepresentationAction(action, true, majorView)); - break; - case actionType.REPRESENTATION_CHANGED: - dispatch(handleChangeRepresentationAction(action, false, majorView)); - break; - case actionType.BACKGROUND_COLOR_CHANGED: - dispatch(setNglBckGrndColor(action.oldSetting, majorViewStage)); - break; - case actionType.CLIP_NEAR: - dispatch(setNglClipNear(action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.CLIP_FAR: - dispatch(setNglClipFar(action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.CLIP_DIST: - dispatch(setNglClipDist(action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.FOG_NEAR: - dispatch(setNglFogNear(action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.FOG_FAR: - dispatch(setNglFogFar(action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.ISO_LEVEL_EVENT: - dispatch(setIsoLevel(MAP_TYPE.event, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.BOX_SIZE_EVENT: - dispatch(setBoxSize(MAP_TYPE.event, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.OPACITY_EVENT: - dispatch(setOpacity(MAP_TYPE.event, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.CONTOUR_EVENT: - dispatch(setContour(MAP_TYPE.event, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.COLOR_EVENT: - dispatch(setElectronDesityMapColor(MAP_TYPE.event, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.ISO_LEVEL_SIGMAA: - dispatch(setIsoLevel(MAP_TYPE.sigmaa, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.BOX_SIZE_SIGMAA: - dispatch(setBoxSize(MAP_TYPE.sigmaa, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.OPACITY_SIGMAA: - dispatch(setOpacity(MAP_TYPE.sigmaa, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.CONTOUR_SIGMAA: - dispatch(setContour(MAP_TYPE.sigmaa, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.COLOR_SIGMAA: - dispatch(setElectronDesityMapColor(MAP_TYPE.sigmaa, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.ISO_LEVEL_DIFF: - dispatch(setIsoLevel(MAP_TYPE.diff, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.BOX_SIZE_DIFF: - dispatch(setBoxSize(MAP_TYPE.diff, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.OPACITY_DIFF: - dispatch(setOpacity(MAP_TYPE.diff, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.CONTOUR_DIFF: - dispatch(setContour(MAP_TYPE.diff, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.COLOR_DIFF: - dispatch(setElectronDesityMapColor(MAP_TYPE.diff, action.oldSetting, action.newSetting, majorViewStage)); - break; - case actionType.WARNING_ICON: - dispatch(setWarningIcon(action.oldSetting, action.newSetting)); - break; - case actionType.TURN_SIDE: - dispatch(handleTurnSideAction(action, false)); - break; - case actionType.SELECTED_SELECT_ALL_BUTTON_FOR_DATASET: - dispatch(handleSelectAllDatasetCompounds(action, false)); - break; - case actionType.SELECT_ALL_DATASET_COMPOUNDS: - dispatch(handleUnselectedAllCompounds(action)); - break; - default: - break; - } - } -}; - -const handleRedoAction = (action, stages) => (dispatch, getState) => { - const state = getState(); - - if (action) { - const majorView = stages.find(view => view.id === VIEWS.MAJOR_VIEW); - // const summaryView = stages.find(view => view.id === VIEWS.SUMMARY_VIEW); - // const stageSummaryView = summaryView.stage; - const majorViewStage = majorView.stage; - - const type = action.type; - switch (type) { - case actionType.ALL_HIDE: - dispatch(handleAllHideAction(action, false, majorViewStage)); - break; - case actionType.ALL_TURNED_ON: - dispatch(handleAllAction(action, true, majorViewStage, state)); - break; - case actionType.ALL_TURNED_OFF: - dispatch(handleAllAction(action, false, majorViewStage, state)); - break; - case actionType.SELECTED_TURNED_ON_BY_TYPE: - dispatch(handleAllActionByType(action, true, majorViewStage)); - break; - case actionType.ALL_TURNED_OFF_BY_TYPE: - dispatch(handleAllActionByType(action, false, majorViewStage)); - break; - case actionType.LIGAND_TURNED_ON: - dispatch(handleMoleculeAction(action, 'ligand', true, majorViewStage, state)); - break; - case actionType.SIDECHAINS_TURNED_ON: - dispatch(handleMoleculeAction(action, 'protein', true, majorViewStage, state)); - break; - case actionType.INTERACTIONS_TURNED_ON: - dispatch(handleMoleculeAction(action, 'complex', true, majorViewStage, state)); - break; - case actionType.SURFACE_TURNED_ON: - dispatch(handleMoleculeAction(action, 'surface', true, majorViewStage, state)); - break; - case actionType.POSE_WINDOW_ACTION: - dispatch(handlePoseWindowAction(action, false)); - break; - case actionType.INSPIRATION_WINDOW_ACTION: - dispatch(handleInspirationsWindowAction(action, false)); - break; - case actionType.QUALITY_TURNED_ON: - dispatch(handleMoleculeAction(action, 'quality', true, majorViewStage, state)); - break; - case actionType.DENSITY_TURNED_ON: - dispatch(handleDensityMoleculeAction(action, 'density', true, majorViewStage, state)); - break; - case actionType.DENSITY_TYPE_ON: - dispatch(handleDensityMoleculeAction(action, 'density', true, majorViewStage, state)); - break; - case actionType.DENSITY_CUSTOM_TURNED_ON: - dispatch(handleDensityMoleculeAction(action, 'densityCustom', true, majorViewStage, state)); - break; - case actionType.VECTORS_TURNED_ON: - dispatch(handleMoleculeAction(action, 'vector', true, majorViewStage, state)); - break; - case actionType.LIGAND_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'ligand', false, majorViewStage, state)); - break; - case actionType.SIDECHAINS_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'protein', false, majorViewStage, state)); - break; - case actionType.INTERACTIONS_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'complex', false, majorViewStage, state)); - break; - case actionType.SURFACE_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'surface', false, majorViewStage, state)); - break; - case actionType.QUALITY_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'quality', false, majorViewStage, state)); - break; - case actionType.DENSITY_TURNED_OFF: - dispatch(handleDensityMoleculeAction(action, 'density', false, majorViewStage, state)); - break; - case actionType.DENSITY_TYPE_OFF: - dispatch(handleDensityMoleculeAction(action, 'density', false, majorViewStage, state)); - break; - case actionType.VECTORS_TURNED_OFF: - dispatch(handleMoleculeAction(action, 'vector', false, majorViewStage, state)); - break; - case actionType.ARROW_NAVIGATION: - dispatch(handleArrowNavigationAction(action, true, majorViewStage)); - break; - case actionType.VECTOR_SELECTED: - dispatch(handleVectorAction(action, true)); - break; - case actionType.VECTOR_DESELECTED: - dispatch(handleVectorAction(action, false)); - break; - case actionType.VECTOR_COUMPOUND_ADDED: - dispatch(handleVectorCompoundAction(action, true, majorViewStage)); - break; - case actionType.VECTOR_COUMPOUND_REMOVED: - dispatch(handleVectorCompoundAction(action, false, majorViewStage)); - break; - case actionType.CLASS_SELECTED: - dispatch(handleClassSelectedAction(action, true)); - break; - case actionType.CLASS_UPDATED: - dispatch(handleClassUpdatedAction(action, true)); - break; - case actionType.COLOR_FILTER_TURNED_ON: - dispatch(handleColorFilterAction(action, true)); - break; - case actionType.COLOR_FILTER_TURNED_OFF: - dispatch(handleColorFilterAction(action, false)); - break; - case actionType.TARGET_LOADED: - dispatch(handleTargetAction(action, true)); - break; - case actionType.SITE_TURNED_ON: - dispatch(handleMoleculeGroupAction(action, true)); - break; - case actionType.SITE_TURNED_OFF: - dispatch(handleMoleculeGroupAction(action, false)); - break; - case actionType.TAG_SELECTED: - dispatch(handleTagAction(action, true)); - break; - case actionType.TAG_UNSELECTED: - dispatch(handleTagAction(action, false)); - break; - case actionType.MOLECULE_ADDED_TO_SHOPPING_CART: - dispatch(handleShoppingCartAction(action, true)); - break; - case actionType.MOLECULE_REMOVED_FROM_SHOPPING_CART: - dispatch(handleShoppingCartAction(action, false)); - break; - case actionType.MOLECULE_ADDED_TO_SHOPPING_CART_ALL: - dispatch(handleShoppingCartAllAction(action, true, majorViewStage)); - break; - case actionType.MOLECULE_REMOVED_FROM_SHOPPING_CART_ALL: - dispatch(handleShoppingCartAllAction(action, false, majorViewStage)); - break; - case actionType.COMPOUND_SELECTED: - dispatch(handleCompoundAction(action, true)); - break; - case actionType.COMPOUND_DESELECTED: - dispatch(handleCompoundAction(action, false)); - break; - case actionType.COMPOUND_LOCKED: - dispatch(handleCompoundLockAction(action, true)); - break; - case actionType.COMPOUND_UNLOCKED: - dispatch(handleCompoundLockAction(action, false)); - break; - case actionType.COMPOUND_ADDED_TO_COLOR_GROUP: - dispatch(handleCompoundColorAction(action, true)); - break; - case actionType.COMPOUND_REMOVED_FROM_COLOR_GROUP: - dispatch(handleCompoundColorAction(action, false)); - break; - case actionType.ALL_COMPOUNDS_ADDED_TO_COLOR_GROUP: - dispatch(handlePaintAllCompoundsAction(action, true)); - break; - case actionType.ALL_COMPOUNDS_REMOVED_FROM_COLOR_GROUP: - dispatch(handlePaintAllCompoundsAction(action, false)); - break; - case actionType.MOLECULE_SELECTED: - dispatch(handleSelectMoleculeAction(action, true)); - break; - case actionType.MOLECULE_UNSELECTED: - dispatch(handleSelectMoleculeAction(action, false)); - break; - case actionType.ALL_MOLECULES_SELECTED: - dispatch(handleSelectAllMolecules(action, true)); - break; - case actionType.ALL_MOLECULES_UNSELECTED: - dispatch(handleSelectAllMolecules(action, false)); - break; - case actionType.ALL_VISIBLE_HITS_SELECTED: - dispatch(handleSelectAllVisibleHits(action, true)); - break; - case actionType.ALL_VISIBLE_HITS_UNSELECTED: - dispatch(handleSelectAllVisibleHits(action, false)); - break; - case actionType.TAB: - dispatch(handleTabAction(action, true)); - break; - case actionType.DATASET_INDEX: - dispatch(handleTabAction(action, true)); - break; - case actionType.DATASET_FILTER: - dispatch(handleFilterAction(action, true)); - break; - case actionType.DATASET_FILTER_SCORE: - dispatch(handleFilterScoreAction(action, true)); - break; - case actionType.DRAG_DROP_FINISHED: - dispatch(handleDragDropFinished(action, true)); - break; - case actionType.REPRESENTATION_VISIBILITY_UPDATED: - dispatch(handleUpdateRepresentationVisibilityAction(action, true, majorView)); - break; - case actionType.REPRESENTATION_VISIBILITY_ALL_UPDATED: - dispatch(handleUpdateRepresentationVisibilityAllAction(action, true, majorView)); - break; - case actionType.REPRESENTATION_UPDATED: - dispatch(handleUpdateRepresentationAction(action, true, majorView)); - break; - case actionType.REPRESENTATION_ADDED: - dispatch(handleRepresentationAction(action, true, majorView)); - break; - case actionType.REPRESENTATION_REMOVED: - dispatch(handleRepresentationAction(action, false, majorView)); - break; - case actionType.REPRESENTATION_CHANGED: - dispatch(handleChangeRepresentationAction(action, true, majorView)); - break; - case actionType.BACKGROUND_COLOR_CHANGED: - dispatch(setNglBckGrndColor(action.newSetting, majorViewStage)); - break; - case actionType.CLIP_NEAR: - dispatch(setNglClipNear(action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.CLIP_FAR: - dispatch(setNglClipFar(action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.CLIP_DIST: - dispatch(setNglClipDist(action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.FOG_NEAR: - dispatch(setNglFogNear(action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.FOG_FAR: - dispatch(setNglFogFar(action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.ISO_LEVEL_EVENT: - dispatch(setIsoLevel(MAP_TYPE.event, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.BOX_SIZE_EVENT: - dispatch(setBoxSize(MAP_TYPE.event, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.OPACITY_EVENT: - dispatch(setOpacity(MAP_TYPE.event, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.CONTOUR_EVENT: - dispatch(setContour(MAP_TYPE.event, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.COLOR_EVENT: - dispatch(setElectronDesityMapColor(MAP_TYPE.event, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.ISO_LEVEL_SIGMAA: - dispatch(setIsoLevel(MAP_TYPE.sigmaa, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.BOX_SIZE_SIGMAA: - dispatch(setBoxSize(MAP_TYPE.sigmaa, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.OPACITY_SIGMAA: - dispatch(setOpacity(MAP_TYPE.sigmaa, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.CONTOUR_SIGMAA: - dispatch(setContour(MAP_TYPE.sigmaa, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.COLOR_SIGMAA: - dispatch(setElectronDesityMapColor(MAP_TYPE.sigmaa, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.ISO_LEVEL_DIFF: - dispatch(setIsoLevel(MAP_TYPE.diff, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.BOX_SIZE_DIFF: - dispatch(setBoxSize(MAP_TYPE.diff, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.OPACITY_DIFF: - dispatch(setOpacity(MAP_TYPE.diff, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.CONTOUR_DIFF: - dispatch(setContour(MAP_TYPE.diff, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.COLOR_DIFF: - dispatch(setElectronDesityMapColor(MAP_TYPE.diff, action.newSetting, action.oldSetting, majorViewStage)); - break; - case actionType.WARNING_ICON: - dispatch(setWarningIcon(action.newSetting, action.oldSetting)); - break; - case actionType.TURN_SIDE: - dispatch(handleTurnSideAction(action, true)); - break; - case actionType.SELECTED_SELECT_ALL_BUTTON_FOR_DATASET: - dispatch(handleSelectAllDatasetCompounds(action, true)); - break; - case actionType.SELECT_ALL_DATASET_COMPOUNDS: - dispatch(handleSelectedAllCompounds(action)); - break; - default: - break; - } - } -}; - -const handleAllActionByType = (action, isAdd, stage) => (dispatch, getState) => { - let actionItems = action.items; - let type = action.control_type; - if (action.object_type === actionObjectType.MOLECULE || action.object_type === actionObjectType.INSPIRATION) { - if (isAdd) { - dispatch(setSelectedAllByType(type, actionItems, action.object_type === actionObjectType.INSPIRATION)); - - actionItems.forEach(data => { - if (data) { - if (type === 'ligand') { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true, true, true)); - } else if (type === 'vector') { - dispatch(addType[type](stage, data, true)); - } else if (type === 'density' || type === 'densityCustom') { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], false, true)); - } else { - dispatch(addType[type](stage, data, colourList[data.id % colourList.length], true)); - } - } - }); - } else { - dispatch(setDeselectedAllByType(type, actionItems, action.object_type === actionObjectType.INSPIRATION)); - - actionItems.forEach(data => { - if (data) { - if (type === 'ligand' || type === 'vector') { - dispatch(removeType[type](stage, data, true)); - } else { - dispatch(removeType[type](stage, data, colourList[data.id % colourList.length], true)); - } - } - }); - } - } else if ( - action.object_type === actionObjectType.COMPOUND || - action.object_type === actionObjectType.CROSS_REFERENCE - ) { - if (isAdd) { - dispatch( - setSelectedAllByTypeOfDataset( - type, - action.dataset_id, - actionItems, - action.object_type === actionObjectType.CROSS_REFERENCE - ) - ); - - actionItems.forEach(data => { - if (data && data.molecule) { - dispatch( - addTypeCompound[type]( - stage, - data.molecule, - colourList[data.molecule.id % colourList.length], - data.datasetID, - true - ) - ); - } - }); - } else { - dispatch( - setDeselectedAllByTypeOfDataset( - type, - action.dataset_id, - actionItems, - action.object_type === actionObjectType.CROSS_REFERENCE - ) - ); - - actionItems.forEach(data => { - if (data && data.molecule) { - dispatch( - removeTypeCompound[type]( - stage, - data.molecule, - colourList[data.molecule.id % colourList.length], - data.datasetID, - true - ) - ); - } - }); - } - } -}; - -const handleAllHideAction = (action, isAdd, stage) => (dispatch, getState) => { - let data = action.data; - let ligandDataList = data.ligandList; - let proteinDataList = data.proteinList; - let complexDataList = data.complexList; - let surfaceDataList = data.surfaceList; - let vectorOnDataList = data.vectorOnList; - - dispatch(setHideAll(data, !isAdd)); - - if (isAdd) { - ligandDataList.forEach(data => { - if (data) { - dispatch(addType['ligand'](stage, data, colourList[data.id % colourList.length], true, true, true)); - } - }); - - proteinDataList.forEach(data => { - if (data) { - dispatch(addType['protein'](stage, data, colourList[data.id % colourList.length], true)); - } - }); - - complexDataList.forEach(data => { - if (data) { - dispatch(addType['complex'](stage, data, colourList[data.id % colourList.length], true)); - } - }); - - surfaceDataList.forEach(data => { - if (data) { - dispatch(addType['surface'](stage, data, colourList[data.id % colourList.length], true)); - } - }); - vectorOnDataList.forEach(data => { - if (data) { - dispatch(addType['vector'](stage, data, true)); - } - }); - } else { - ligandDataList.forEach(data => { - if (data) { - dispatch(removeType['ligand'](stage, data, true)); - } - }); - - proteinDataList.forEach(data => { - if (data) { - dispatch(removeType['protein'](stage, data, colourList[data.id % colourList.length], true)); - } - }); - - complexDataList.forEach(data => { - if (data) { - dispatch(removeType['complex'](stage, data, colourList[data.id % colourList.length], true)); - } - }); - - surfaceDataList.forEach(data => { - if (data) { - dispatch(removeType['surface'](stage, data, colourList[data.id % colourList.length], true)); - } - }); - vectorOnDataList.forEach(data => { - if (data) { - dispatch(removeType['vector'](stage, data, true)); - } - }); - } -}; - -const handleAllAction = (action, isSelected, majorViewStage, state) => (dispatch, getState) => { - let isSelection = - action.object_type === actionObjectType.MOLECULE || action.object_type === actionObjectType.INSPIRATION; - - if (isSelected) { - if (isSelection) { - dispatch(setSelectedAll(action.item, true, true, true)); - } else { - dispatch(setSelectedAllOfDataset(action.dataset_id, action.item, true, true, true)); - } - } else { - if (isSelection) { - dispatch(setDeselectedAll(action.item, action.isLigand, action.isProtein, action.isComplex)); - } else { - dispatch( - setDeselectedAllOfDataset(action.dataset_id, action.item, action.isLigand, action.isProtein, action.isComplex) - ); - } - } - - if (action.isLigand) { - dispatch(handleMoleculeAction(action, 'ligand', isSelected, majorViewStage, state, true)); - } - - if (action.isProtein) { - dispatch(handleMoleculeAction(action, 'protein', isSelected, majorViewStage, state, true)); - } - - if (action.isComplex) { - dispatch(handleMoleculeAction(action, 'complex', isSelected, majorViewStage, state, true)); - } -}; - -const handleVectorAction = (action, isSelected) => (dispatch, getState) => { - if (action) { - if (isSelected === false) { - dispatch(selectVectorAndResetCompounds(undefined)); - } else { - dispatch(selectVectorAndResetCompounds(action.object_name)); - } - } -}; - -const handleVectorCompoundAction = (action, isSelected, majorViewStage) => (dispatch, getState) => { - if (action) { - let data = action.item; - dispatch(handleShowVectorCompound({ isSelected, data, majorViewStage: majorViewStage })); - } -}; - -const handleClassSelectedAction = (action, isAdd) => (dispatch, getState) => { - if (action) { - let value = isAdd ? action.value : action.oldValue; - let oldValue = isAdd ? action.oldValue : action.value; - dispatch(setCurrentCompoundClass(value, oldValue)); - } -}; - -const handleClassUpdatedAction = (action, isAdd) => (dispatch, getState) => { - if (action) { - let id = action.object_id; - let newValue = isAdd ? action.newCompoundClasses : action.oldCompoundClasses; - let oldValue = isAdd ? action.oldCompoundClasses : action.newCompoundClasses; - let value = isAdd ? action.object_name : action.oldCompoundClasses[id]; - value = value !== undefined ? value : ''; - dispatch(setCompoundClasses(newValue, oldValue, value, id)); - } -}; - -const handleColorFilterAction = (action, isSelected) => (dispatch, getState) => { - if (action) { - const color = action.value; - if (isSelected) { - dispatch(appendColorToSelectedColorFilter(color)); - } else { - dispatch(removeColorFromSelectedColorFilter(color)); - } - } -}; - -const handleTargetAction = (action, isSelected, stages) => (dispatch, getState) => { - const state = getState(); - if (action) { - if (isSelected === false) { - dispatch(setTargetOn(undefined)); - } else { - let target = getTarget(action.object_name, state); - if (target) { - dispatch(setTargetOn(target.id)); - dispatch(shouldLoadProtein({ nglViewList: stages, currentSnapshotID: null, isLoadingCurrentSnapshot: false })); - } - } - } -}; - -const handleTabAction = (action, isSelected) => (dispatch, getState) => { - if (action) { - let newValue = isSelected === true ? action.object_id : action.oldObjectId; - let oldValue = isSelected === true ? action.oldObjectId : action.object_id; - let name = isSelected === true ? action.object_name : action.oldObjectName; - let oldName = isSelected === true ? action.oldObjectName : action.object_name; - - if (action.type === actionType.DATASET_INDEX) { - dispatch(setSelectedDatasetIndex(oldValue, newValue, name, oldName)); - } else { - dispatch(setSortDialogOpen(false)); - dispatch(setTabValue(oldValue, newValue, name, oldName)); - } - } -}; - -const handleFilterAction = (action, isSelected) => (dispatch, getState) => { - if (action) { - const { - datasetID, - key, - newProperties, - oldProperties, - newSettings, - oldSettings, - oldDragDropState, - newDragDropState - } = action; - const newFilterProperties = isSelected ? newProperties : oldProperties; - const newFilterSettings = isSelected ? newSettings : oldSettings; - const newFilterDragDropState = isSelected ? newDragDropState : oldDragDropState; - dispatch(setDatasetFilter(datasetID, newFilterProperties, newFilterSettings, key, newFilterDragDropState)); - dispatch(setFilterProperties(datasetID, newFilterProperties)); - dispatch(setFilterSettings(datasetID, newFilterSettings)); - dispatch(setDragDropState(datasetID, newFilterDragDropState)); - } -}; - -const handleFilterScoreAction = (action, isSelected) => (dispatch, getState) => { - if (action) { - let datasetID = action.dataset_id; - let isChecked = isSelected === true ? action.isChecked : !action.isChecked; - let scoreName = action.object_name; - dispatch(selectScoreProperty({ isChecked, datasetID, scoreName })); - } -}; - -const handleDragDropFinished = (action, isSelected) => dispatch => { - if (action) { - const { oldDragDropState, newDragDropState, datasetID } = action; - dispatch(setDragDropState(datasetID, isSelected ? newDragDropState : oldDragDropState)); - } -}; - -const handleCompoundAction = (action, isSelected) => (dispatch, getState) => { - const state = getState(); - if (action) { - let data = getCompound(action, state); - if (data) { - if (isSelected === true) { - dispatch(appendMoleculeToCompoundsOfDatasetToBuy(action.dataset_id, data.id, data.name)); - } else { - dispatch(removeMoleculeFromCompoundsOfDatasetToBuy(action.dataset_id, data.id, data.name)); - } - } - } -}; - -const handleCompoundLockAction = (action, isLocked) => (dispatch, getState) => { - const state = getState(); - if (action) { - let data = getCompound(action, state); - if (data) { - if (isLocked) { - dispatch(appendCompoundToSelectedCompoundsByDataset(action.dataset_id, data.id, data.name)); - } else { - dispatch(removeCompoundFromSelectedCompoundsByDataset(action.dataset_id, data.id, data.name)); - } - } - } -}; - -const handleCompoundColorAction = (action, isAdded) => (dispatch, getState) => { - const state = getState(); - if (action) { - let data = getCompound(action, state); - if (data) { - if (isAdded) { - dispatch(appendCompoundColorOfDataset(action.dataset_id, data.id, action.color_class, data.name)); - } else { - dispatch(removeCompoundColorOfDataset(action.dataset_id, data.id, action.color_class, data.name)); - } - } - } -}; - -const handlePaintAllCompoundsAction = (action, arePainted) => (dispatch, getState) => { - const state = getState(); - if (action?.items) { - action.items.forEach(cmpId => { - const cmp = getCompoundById(cmpId, action?.dataset_id, state); - if (cmp) { - if (arePainted) { - dispatch(appendCompoundColorOfDataset(action?.dataset_id, cmpId, action?.color, cmp.name, true)); - } else { - dispatch(removeCompoundColorOfDataset(action?.dataset_id, cmpId, action?.color, cmp.name, true)); - } - } - }); - } -}; - -const handleSelectMoleculeAction = (action, isSelected) => (dispatch, getState) => { - if (action) { - dispatch(handleSelectMoleculeByName(action.object_name)); - } -}; - -const handleSelectMoleculeByName = (molName, isSelected) => (dispatch, getState) => { - const state = getState(); - if (molName) { - let mol = getMolecule(molName, state); - if (mol) { - if (isSelected) { - dispatch(appendToMolListToEdit(mol.id)); - } else { - dispatch(removeFromMolListToEdit(mol.id)); - } - } - } -}; - -const handleSelectAllMolecules = (action, isSelected) => (dispatch, getState) => { - if (action && action.items) { - dispatch(selectAllHits(action.items, setNextXMolecules, !isSelected)); - } -}; - -const handleSelectAllVisibleHits = (action, isSelected) => (dispatch, getState) => { - if (action && action.items) { - dispatch(selectAllVisibleObservations(action.items, setNextXMolecules, !isSelected)); - } -}; - -const handleSelectAllDatasetCompounds = (action, isSelected) => (dispatch, getState) => { - if (action.selectAllButton) { - dispatch(setSelectAllButtonForDataset(isSelected)); - } -}; - -const handleSelectedAllCompounds = action => (dispatch, getState) => { - if (action) { - dispatch(setCompoundToSelectedCompoundsByDataset(action.dataset_id.datasetID, action.dataset_id.selectedCompounds)); - } -}; - -const handleUnselectedAllCompounds = action => (dispatch, getState) => { - if (action) { - dispatch(setCompoundToSelectedCompoundsByDataset(action.dataset_id.datasetID, [])); - } -}; - -const handleShoppingCartAction = (action, isAdd) => (dispatch, getState) => { - if (action) { - let data = action.item; - if (data) { - dispatch(handleBuyList({ isSelected: isAdd, data, skipTracking: false })); - } - } -}; - -const handleShoppingCartAllAction = (action, isAdd, majorViewStage) => (dispatch, getState) => { - if (action) { - dispatch(handleBuyListAll({ isSelected: isAdd, items: action.items, majorViewStage: majorViewStage })); - } -}; - -const handleRepresentationAction = (action, isAdd, nglView) => (dispatch, getState) => { - if (action) { - if (isAdd === true) { - dispatch(addRepresentation(action, action.object_id, action.representation, nglView)); - } else { - dispatch(removeRepresentation(action, action.object_id, action.representation, nglView)); - } - } -}; - -const handleTurnSideAction = (action, restore) => dispatch => { - if (action) { - const { side, open } = action; - dispatch(turnSide(side, restore ? open : !open, true)); - } -}; - -const addRepresentation = (action, parentKey, representation, nglView, update, skipTracking = false) => ( - dispatch, - getState -) => { - const oldRepresentation = representation; - const newRepresentationType = oldRepresentation.type; - const comp = nglView.stage.getComponentsByName(parentKey).first; - const newRepresentation = assignRepresentationToComp( - newRepresentationType, - oldRepresentation.params, - comp, - oldRepresentation.lastKnownID - ); - action.representation = newRepresentation; - if (update === true) { - action.newRepresentation = newRepresentation; - } else { - action.oldRepresentation = newRepresentation; - } - dispatch(addComponentRepresentation(parentKey, newRepresentation, skipTracking)); -}; - -const removeRepresentation = (action, parentKey, representation, nglView, skipTracking = false) => ( - dispatch, - getState -) => { - const comp = nglView.stage.getComponentsByName(parentKey).first; - let foundRepresentation = undefined; - comp.eachRepresentation(r => { - if ( - r.uuid === representation.uuid || - r.uuid === representation.lastKnownID || - r.repr.type === representation.type - ) { - foundRepresentation = r; - } - }); - - if (foundRepresentation) { - comp.removeRepresentation(foundRepresentation); - - if (comp.reprList.length === 0) { - dispatch(deleteObject(nglView, nglView.stage, true)); - } else { - hideShapeRepresentations(foundRepresentation, nglView, parentKey); - dispatch(removeComponentRepresentation(parentKey, foundRepresentation, skipTracking)); - } - } else { - console.log(`Not found representation:`, representation); - } -}; - -const changeMolecularRepresentationForSnapshotRestoration = (action, nglView) => (dispatch, getState) => { - // this is not needed probably - const comp = nglView.stage.getComponentsByName(action.object_id).first; - - // add representation to NGL - const newRepresentation = assignRepresentationToComp( - action.newRepresentation.type, - action.newRepresentation.params, - comp, - action.newRepresentation.lastKnownID - ); - - // remove previous representation from NGL - dispatch(removeRepresentationForSnapshotRestoration(action.oldRepresentation, action.object_id, nglView)); - - // add new representation to redux - dispatch(addComponentRepresentation(action.object_id, newRepresentation, true)); - - dispatch(changeComponentRepresentation(action.object_id, action.oldRepresentation, newRepresentation)); -}; - -const removeRepresentationForSnapshotRestoration = (representation, parentKey, nglView) => (dispatch, getState) => { - // find in redux - const objectsInView = getState().nglReducers.objectsInView; - // added representations have a new uuid so it is different than preserved lastKnownID in representation - // so compare all possibilities to fetch possible match saved in redux - let representationToRemove = undefined; - for (const [objectId, object] of Object.entries(objectsInView)) { - for (const r of object.representations) { - if ( - r.uuid === representation.uuid || - r.uuid === representation.lastKnownID || - r.lastKnownID === representation.uuid || - r.lastKnownID === representation.lastKnownID - ) { - representationToRemove = r; - break; - } - } - } - // find in nglView - const comp = nglView.stage.getComponentsByName(parentKey).first; - let foundRepresentation = undefined; - comp.eachRepresentation(r => { - if ( - r.uuid === representation.uuid || - r.uuid === representation.lastKnownID || - (representationToRemove && - (r.uuid === representationToRemove.uuid || r.uuid === representationToRemove.lastKnownID)) - ) { - foundRepresentation = r; - } - }); - if (foundRepresentation) { - // update in nglView - comp.removeRepresentation(foundRepresentation); - // update in redux - const targetObject = objectsInView[parentKey]; - if (comp.reprList.length === 0) { - // remove from nglReducer and selectionReducer - dispatch(deleteObject(targetObject, nglView.stage, true)); - } else { - hideShapeRepresentations(foundRepresentation, nglView, parentKey); - if (representationToRemove) { - // this could freeze the app if "wrong" representation is passed, what is wrong tho - dispatch(removeComponentRepresentation(parentKey, representationToRemove, true)); - } - } - } else { - console.log('Not found representation:', representation); - } -}; - -const handleUpdateRepresentationVisibilityAction = (action, isAdd, nglView) => (dispatch, getState) => { - if (action) { - let parentKey = action.object_id; - let representation = action.representation; - let representationElement = null; - - const comp = nglView.stage.getComponentsByName(parentKey).first; - comp.eachRepresentation(r => { - if (r.uuid === representation.uuid || r.uuid === representation.lastKnownID) { - representationElement = r; - const newVisibility = isAdd ? action.value : !action.value; - // update in redux - representation.params.visible = newVisibility; - dispatch(updateComponentRepresentation(parentKey, representation.uuid, representation, '', true)); - dispatch( - updateComponentRepresentationVisibility(parentKey, representation.uuid, representation, newVisibility) - ); - // update in nglView - r.setVisibility(newVisibility); - } - }); - - hideShapeRepresentations(representationElement, nglView, parentKey); - } -}; - -const handleUpdateRepresentationVisibilityAllAction = (action, isAdd, nglView) => (dispatch, getState) => { - if (action) { - const state = getState(); - let parentKey = action.object_id; - let objectsInView = state.nglReducers.objectsInView; - let newVisibility = isAdd ? action.value : !action.value; - - const representations = (objectsInView[parentKey] && objectsInView[parentKey].representations) || []; - const comp = nglView.stage.getComponentsByName(parentKey).first; - - if (representations) { - representations.forEach((representation, index) => { - let representationElement = null; - comp.eachRepresentation(r => { - if (r.uuid === representation.uuid || r.uuid === representation.lastKnownID) { - representationElement = r; - representation.params.visible = newVisibility; - // update in nglView - r.setVisibility(newVisibility); - // update in redux - dispatch(updateComponentRepresentation(parentKey, representation.uuid, representation, '', true)); - } - }); - hideShapeRepresentations(representationElement, nglView, parentKey); - }); - - dispatch(updateComponentRepresentationVisibilityAll(parentKey, newVisibility)); - } - } -}; - -const handleUpdateRepresentationAction = (action, isAdd, nglView) => (dispatch, getState) => { - if (action) { - dispatch(updateRepresentation(isAdd, action.change, action.object_id, action.representation, nglView)); - } -}; - -const updateRepresentation = (isAdd, change, parentKey, representation, nglView) => (dispatch, getState) => { - const comp = nglView.stage.getComponentsByName(parentKey).first; - const r = comp.reprList.find(rep => rep.uuid === representation.uuid || rep.uuid === representation.lastKnownID); - if (r && change) { - let key = change.key; - let value = isAdd ? change.value : change.oldValue; - - r.setParameters({ [key]: value }); - representation.params[key] = value; - - dispatch(updateComponentRepresentation(parentKey, representation.uuid, representation)); - } -}; - -const handleChangeRepresentationAction = (action, isAdd, nglView) => (dispatch, getState) => { - if (action) { - let representation = action.newRepresentation; - let type = action.oldRepresentation.type; - dispatch(changeMolecularRepresentation(action, representation, type, action.object_id, nglView)); - } -}; - -const changeMolecularRepresentation = (action, representation, type, parentKey, nglView) => (dispatch, getState) => { - const newRepresentationType = type; - - const oldRepresentation = JSON.parse(JSON.stringify(representation)); - const comp = nglView.stage.getComponentsByName(parentKey).first; - - // add representation to NGL - const newRepresentation = assignRepresentationToComp( - newRepresentationType, - oldRepresentation.params, - comp, - oldRepresentation.lastKnownID - ); - - action.newRepresentation = newRepresentation; - action.oldRepresentation = representation; - - // add new representation to redux - dispatch(addComponentRepresentation(parentKey, newRepresentation, true)); - - // remove previous representation from NGL - dispatch(removeRepresentation(action, parentKey, representation, nglView, true)); - - dispatch(changeComponentRepresentation(parentKey, oldRepresentation, newRepresentation)); -}; - -const handleArrowNavigationAction = (action, isSelected, majorViewStage) => (dispatch, getState) => { - if (action) { - let isSelection = - action.object_type === actionObjectType.MOLECULE || action.object_type === actionObjectType.INSPIRATION; - - if (isSelection === true) { - dispatch(handleArrowNavigationActionOfMolecule(action, isSelected, majorViewStage)); - } else { - dispatch(handleArrowNavigationActionOfCompound(action, isSelected, majorViewStage)); - } - } -}; - -const handleArrowNavigationActionOfMolecule = (action, isSelected, majorViewStage) => (dispatch, getState) => { - const state = getState(); - if (action) { - let molecules = state.apiReducers.all_mol_lists; - let item = isSelected === true ? action.item : action.newItem; - let newItem = isSelected === true ? action.newItem : action.item; - let isInspiration = newItem && newItem.isInspiration; - let data = action.data; - - dispatch(removeSelectedMolTypes(majorViewStage, molecules, true, isInspiration)); - dispatch(moveSelectedMolSettings(majorViewStage, item, newItem, data, true)); - dispatch(setArrowUpDown(item, newItem, action.arrowType, data)); - } -}; - -const handleArrowNavigationActionOfCompound = (action, isSelected, majorViewStage) => (dispatch, getState) => { - const state = getState(); - if (action) { - const molecules = state.apiReducers.all_mol_lists; - const allInspirations = state.datasetsReducers.allInspirations; - - let data = action.data; - let item = isSelected === true ? action.item : action.newItem; - let newItem = isSelected === true ? action.newItem : action.item; - let datasetID = action.datasetID; - - const proteinListMolecule = data.proteinList; - const complexListMolecule = data.complexList; - const fragmentDisplayListMolecule = data.fragmentDisplayList; - const surfaceListMolecule = data.surfaceList; - const densityListMolecule = data.densityList; - const densityListCustomMolecule = data.densityListCustom; - const vectorOnListMolecule = data.vectorOnList; - const qualityListMolecule = data.qualityList; - - dispatch(hideAllSelectedMolecules(majorViewStage, molecules, false, true)); - dispatch(removeSelectedDatasetMolecules(majorViewStage, true, newItem)); - - const newDatasetID = (newItem.hasOwnProperty('datasetID') && newItem.datasetID) || datasetID; - const moleculeTitlePrev = newItem && newItem.name; - - const inspirations = getInspirationsForMol(allInspirations, datasetID, newItem.id); - dispatch(setInspirationMoleculeDataList(inspirations)); - dispatch(moveSelectedMoleculeSettings(majorViewStage, item, newItem, newDatasetID, datasetID, data, true)); - - if (isSelected === true) { - dispatch( - moveMoleculeInspirationsSettings( - item, - newItem, - majorViewStage, - data.objectsInView, - fragmentDisplayListMolecule, - proteinListMolecule, - complexListMolecule, - surfaceListMolecule, - densityListMolecule, - densityListCustomMolecule, - vectorOnListMolecule, - qualityListMolecule, - true - ) - ); - } else { - dispatch( - moveSelectedInspirations( - majorViewStage, - data.objectsInView, - fragmentDisplayListMolecule, - proteinListMolecule, - complexListMolecule, - surfaceListMolecule, - densityListMolecule, - densityListCustomMolecule, - vectorOnListMolecule, - qualityListMolecule, - true - ) - ); - } - - dispatch(setCrossReferenceCompoundName(moleculeTitlePrev)); - dispatch(setArrowUpDownOfDataset(datasetID, item, newItem, action.arrowType, data)); - } -}; - -const handleMoleculeGroupAction = (action, isSelected, stageSummaryView, majorViewStage) => (dispatch, getState) => { - const state = getState(); - if (action) { - const tag = getTag(action.object_id, state); - if (tag) { - if (isSelected === true) { - dispatch(addSelectedTag(tag)); - } else { - dispatch(removeSelectedTag(tag)); - } - } - } -}; - -const handleTagAction = (action, isSelected) => (dispatch, getState) => { - const state = getState(); - if (action) { - const tag = getTag(action.object_id, state); - if (tag) { - if (isSelected === true) { - dispatch(addSelectedTag(tag)); - } else { - dispatch(removeSelectedTag(tag)); - } - } - } -}; - -const handlePoseWindowAction = (action, invert) => (dispatch, getState) => { - if (action) { - const openDialog = action.isOpen; - if (openDialog) { - if (invert && action.prevPoseId && action.prevObservations?.length > 0) { - dispatch(setObservationsForLHSCmp(action.prevObservations)); - dispatch(setOpenObservationsDialog(true)); - dispatch(setPoseIdForObservationsDialog(action.prevPoseId)); - dispatch(setScrollFiredForLHS(false)); - } else if (invert) { - dispatch(setObservationsForLHSCmp([])); - dispatch(setOpenObservationsDialog(false)); - dispatch(setPoseIdForObservationsDialog(0)); - // dispatch(setScrollFiredForLHS(false)); - } else if (action.object_id && action.items?.length > 0) { - dispatch(setObservationsForLHSCmp(action.items)); - dispatch(setOpenObservationsDialog(true)); - dispatch(setPoseIdForObservationsDialog(action.object_id)); - dispatch(setScrollFiredForLHS(false)); - } else { - console.error(`${invert ? 'Undo' : 'Redo'} failed for action: ${JSON.stringify(action)}`); - } - } else { - dispatch(setObservationsForLHSCmp([])); - dispatch(setOpenObservationsDialog(false)); - dispatch(setPoseIdForObservationsDialog(0)); - } - } -}; - -const handleInspirationsWindowAction = (action, invert) => (dispatch, getState) => { - if (action) { - const openDialog = action.isOpen; - if (openDialog) { - if (invert && action.prevCmpdId && action.prevInspirations?.length > 0) { - dispatch(setInspirationMoleculeDataList(action.prevInspirations)); - dispatch(setIsOpenInspirationDialog(true)); - dispatch(setInspirationList(action.datasetID, [action.prevCmpdId])); - dispatch(resetDatasetScrolledMap()); - dispatch(setSelectedDatasetScrolled(false)); - } else if (invert) { - dispatch(setInspirationMoleculeDataList([])); - dispatch(setIsOpenInspirationDialog(false)); - dispatch(setInspirationList(action.datasetID, 0)); - // dispatch(resetDatasetScrolledMap()); - } else if (action.object_id && action.items?.length > 0) { - dispatch(setInspirationMoleculeDataList(action.items)); - dispatch(setIsOpenInspirationDialog(true)); - dispatch(setInspirationList(action.datasetID, [action.object_id])); - dispatch(resetDatasetScrolledMap()); - dispatch(setSelectedDatasetScrolled(false)); - } else { - console.error(`${invert ? 'Undo' : 'Redo'} failed for action: ${JSON.stringify(action)}`); - } - } else { - dispatch(setInspirationMoleculeDataList([])); - dispatch(setIsOpenInspirationDialog(false)); - dispatch(setInspirationList(action.datasetID, 0)); - } - } -}; - -const handleDensityMoleculeAction = (action, type, isAdd, stage, state, skipTracking) => (dispatch, getState) => { - if (action.object_type === actionObjectType.MOLECULE || action.object_type === actionObjectType.INSPIRATION) { - if (isAdd) { - dispatch(addNewTypeOfAction(action, type, stage, state, skipTracking)); - } else { - if (type === 'densityCustom') { - dispatch(removeNewType(action, 'density', stage, state, skipTracking)); - dispatch(addNewTypeOfAction(action, 'density', stage, state, skipTracking)); - } else { - dispatch(removeNewType(action, type, stage, state, skipTracking)); - } - } - } -}; - -const handleMoleculeAction = (action, type, isAdd, stage, state, skipTracking) => (dispatch, getState) => { - if (action.object_type === actionObjectType.MOLECULE || action.object_type === actionObjectType.INSPIRATION) { - if (isAdd) { - dispatch(addNewTypeOfAction(action, type, stage, state, skipTracking)); - } else { - dispatch(removeNewType(action, type, stage, state, skipTracking)); - } - } else if ( - action.object_type === actionObjectType.COMPOUND || - action.object_type === actionObjectType.CROSS_REFERENCE - ) { - if (isAdd) { - dispatch(addNewTypeCompoundOfAction(action, type, stage, state, skipTracking)); - } else { - dispatch(removeNewTypeCompound(action, type, stage, state, skipTracking)); - } - } -}; - -const removeNewType = (action, type, stage, state, skipTracking) => dispatch => { - if (action) { - let data = getMolecule(action.object_name, state); - if (data) { - if (type === 'ligand' || type === 'vector') { - dispatch(removeType[type](stage, data, skipTracking, false)); - } else { - dispatch(removeType[type](stage, data, colourList[data.id % colourList.length], skipTracking)); - } - } - } -}; - -const removeNewTypeCompound = (action, type, stage, state, skipTracking) => dispatch => { - if (action) { - let data = getCompound(action, state); - if (data) { - dispatch( - removeTypeCompound[type](stage, data, colourList[data.id % colourList.length], action.dataset_id, skipTracking) - ); - } - } -}; - -export const getCanUndo = () => (dispatch, getState) => { - const state = getState(); - return state.undoableTrackingReducers.past.length > 0; -}; - -export const getCanRedo = () => (dispatch, getState) => { - const state = getState(); - return state.undoableTrackingReducers.future.length > 0; -}; - -export const getUndoActionText = () => (dispatch, getState) => { - let action = dispatch(getNextUndoAction()); - return action?.text ?? ''; -}; - -export const getRedoActionText = () => (dispatch, getState) => { - let action = dispatch(getNextRedoAction()); - return action?.text ?? ''; -}; - -export const appendAndSendTrackingActions = trackAction => async (dispatch, getState) => { - const state = getState(); - const isUndoRedoAction = state.trackingReducers.isUndoRedoAction; - dispatch(setIsActionTracking(true)); - if (trackAction && trackAction !== null) { - const actionList = state.trackingReducers.track_actions_list; - const sendActionList = state.trackingReducers.send_actions_list; - const mergedActionList = mergeActions(trackAction, [...actionList]); - const mergedSendActionList = mergeActions(trackAction, [...sendActionList]); - dispatch(setActionsList(mergedActionList.list)); - dispatch(setSendActionsList(mergedSendActionList.list)); - if (isUndoRedoAction === false) { - const undoRedoActionList = state.trackingReducers.undo_redo_actions_list; - const mergedUndoRedoActionList = mergeActions(trackAction, [...undoRedoActionList]); - if (mergedActionList.merged) { - dispatch(setUndoRedoActionList(mergedUndoRedoActionList.list)); - dispatch(UndoActionCreators.removeLastPast()); - } else { - dispatch(setUndoRedoActionList(mergedUndoRedoActionList.list)); - } - } - } - dispatch(setIsActionTracking(false)); - dispatch(checkSendTrackingActions()); -}; - -export const mergeActions = (trackAction, list) => { - let merged = false; - if (needsToBeMerged(trackAction)) { - let newList = []; - if (list.length > 0) { - const lastEntry = list[list.length - 1]; - if (isSameTypeOfAction(trackAction, lastEntry) && isActionWithinTimeLimit(lastEntry, trackAction)) { - trackAction.oldSetting = lastEntry.oldSetting; - trackAction.text = trackAction.getText(); - newList = [...list.slice(0, list.length - 1), trackAction]; - merged = true; - } else { - newList = [...list, trackAction]; - } - } else { - newList.push(trackAction); - } - return { merged: merged, list: newList }; - } else { - return { merged: merged, list: [...list, trackAction] }; - } - // return {merged: merged, list: [...list, trackAction]}; -}; - -const needsToBeMerged = trackAction => { - return trackAction.merge !== undefined ? trackAction.merge : false; -}; - -const isSameTypeOfAction = (firstAction, secondAction) => { - return firstAction.type === secondAction.type; -}; - -const isActionWithinTimeLimit = (firstAction, secondAction) => { - const diffInSeconds = Math.abs(firstAction.timestamp - secondAction.timestamp) / 1000; - return diffInSeconds <= NUM_OF_SECONDS_TO_IGNORE_MERGE; -}; - -export const manageSendTrackingActions = (projectID, copy) => async (dispatch, getState) => { - if (copy) { - await dispatch(checkActionsProject(projectID)); - } else { - await dispatch(checkSendTrackingActions(true)); - } -}; - -export const checkSendTrackingActions = (save = false) => async (dispatch, getState) => { - const state = getState(); - const currentProject = state.projectReducers.currentProject; - const sendActions = state.trackingReducers.send_actions_list; - const length = sendActions.length; - - if (/*length >= CONSTANTS.COUNT_SEND_TRACK_ACTIONS || */ save) { - await dispatch(sendTrackingActions(sendActions, currentProject, true)); - } -}; - -const sendTrackingActions = (sendActions, project, clear = false) => async (dispatch, getState) => { - if (project) { - const projectID = project && project.projectID; - - if (projectID && sendActions && sendActions.length > 0) { - dispatch(setIsActionsSending(true)); - - const dataToSend = { - session_project: projectID, - author: project.authorID, - last_update_date: moment().format(), - actions: JSON.stringify(sendActions) - }; - return api({ - url: `${base_url}/api/session-actions/`, - method: METHOD.POST, - data: JSON.stringify(dataToSend) - }) - .then(() => { - if (clear === true) { - dispatch(setSendActionsList([])); - } - }) - .catch(error => { - throw new Error(error); - }) - .finally(() => { - dispatch(setIsActionsSending(false)); - }); - } else { - return Promise.resolve(); - } - } else { - return Promise.resolve(); - } -}; - -export const setProjectTrackingActions = () => (dispatch, getState) => { - const state = getState(); - const isProjectActionListLoaded = state.trackingReducers.isProjectActionListLoaded; - if (!isProjectActionListLoaded) { - const currentProject = state.projectReducers.currentProject; - const projectID = currentProject && currentProject.projectID; - dispatch(setProjectActionList([])); - dispatch(getTrackingActions(projectID, true)); - } -}; - -const getTrackingActions = (projectID, withTreeSeparation) => (dispatch, getState) => { - const state = getState(); - const currentProject = state.projectReducers.currentProject; - const currentProjectID = currentProject && currentProject.projectID; - const sendActions = state.trackingReducers.send_actions_list; - const currentActionList = state.trackingReducers.current_actions_list; - const trackActionsList = state.trackingReducers.track_actions_list; - - if (projectID) { - dispatch(setIsActionsLoading(true)); - return api({ - url: `${base_url}/api/session-actions/?session_project=${projectID}` - }) - .then(response => { - let results = response.data.results; - let listToSet = []; - results.forEach(r => { - let resultActions = JSON.parse(r.actions); - let actions = resultActions.map(obj => ({ ...obj, actionId: r.id })); - listToSet.push(...actions); - }); - - if (withTreeSeparation === true) { - listToSet = dispatch(separateTrackkingActionBySnapshotTree(listToSet)); - - let actionsWithoutSnapshot = listToSet.filter(action => action.type !== actionType.SNAPSHOT); - let snapshotActions = listToSet.filter(action => action.type === actionType.SNAPSHOT); - if (snapshotActions) { - const key = 'object_id'; - const arrayUniqueByKey = [...new Map(snapshotActions.map(item => [item[key], item])).values()]; - actionsWithoutSnapshot.push(...arrayUniqueByKey); - listToSet = actionsWithoutSnapshot; - } - } - - let projectActions = currentProjectID && currentProjectID != null ? [...listToSet, ...sendActions] : listToSet; - dispatch(setProjectActionList(projectActions)); - dispatch(setProjectActionListLoaded(true)); - return Promise.resolve(projectActions); - }) - .catch(error => { - throw new Error(error); - }) - .finally(() => { - dispatch(setIsActionsLoading(false)); - }); - } else { - // let projectActions = [...sendActions]; - // const projectActions = []; - let projectActions = [...currentActionList, ...sendActions, ...trackActionsList]; - projectActions = uniqWith(projectActions, isEqual); - dispatch(setProjectActionList(projectActions)); - return Promise.resolve(projectActions); - } -}; - -const separateTrackkingActionBySnapshotTree = actionList => (dispatch, getState) => { - const state = getState(); - const snapshotID = state.projectReducers.currentSnapshot && state.projectReducers.currentSnapshot.id; - const currentSnapshotTree = state.projectReducers.currentSnapshotTree; - const currentSnapshotList = state.projectReducers.currentSnapshotList; - - if (snapshotID && currentSnapshotTree != null) { - let treeActionList = []; - let snapshotIdList = []; - snapshotIdList.push(currentSnapshotTree.id); - - if (currentSnapshotList != null) { - for (const id in currentSnapshotList) { - let snapshot = currentSnapshotList[id]; - let snapshotChildren = snapshot.children; - - if ( - (snapshotChildren && snapshotChildren !== null && snapshotChildren.includes(snapshotID)) || - snapshot.id === snapshotID - ) { - snapshotIdList.push(snapshot.id); - } - } - } - - treeActionList = actionList.filter( - a => snapshotIdList.includes(a.snapshotId) || a.snapshotId === null || a.snapshotId === undefined - ); - return treeActionList; - } else { - return actionList; - } -}; - -const checkActionsProject = projectID => async (dispatch, getState) => { - const state = getState(); - const currentProject = state.projectReducers.currentProject; - const currentProjectID = currentProject && currentProject.projectID; - - await dispatch(getTrackingActions(projectID)); - await dispatch( - copyActionsToProject(currentProject, true, currentProjectID && currentProjectID != null ? true : false) - ); -}; - -const copyActionsToProject = (toProject, setActionList = true, clear = false) => async (dispatch, getState) => { - const state = getState(); - const actionList = state.trackingReducers.project_actions_list; - - if (toProject) { - let newActionsList = []; - - actionList.forEach(r => { - newActionsList.push(Object.assign({ ...r })); - }); - - if (setActionList === true) { - dispatch(setActionsList(newActionsList)); - } - await dispatch(sendTrackingActions(newActionsList, toProject, clear)); - } -}; - -export const sendTrackingActionsByProjectId = (projectID, authorID, offline = false) => async (dispatch, getState) => { - const state = getState(); - const currentProject = state.projectReducers.currentProject; - const currentProjectID = currentProject && currentProject.projectID; - - const project = { projectID, authorID }; - - await dispatch(getTrackingActions(offline ? null : currentProjectID)); - await dispatch(copyActionsToProject(project, false, currentProjectID && currentProjectID != null ? true : false)); -}; - -export const sendInitTrackingActionByProjectId = target_on => (dispatch, getState) => { - const state = getState(); - const snapshotID = state.projectReducers.currentSnapshot && state.projectReducers.currentSnapshot.id; - - let trackAction = dispatch(createInitAction(target_on)); - if (trackAction && trackAction != null) { - let actions = []; - actions.push(trackAction); - dispatch(appendToSendActionList(trackAction)); - dispatch(checkSendTrackingActions(true)); - dispatch(saveTrackingActions(actions, snapshotID)); - } -}; - -export const updateTrackingActions = action => (dispatch, getState) => { - const state = getState(); - const project = state.projectReducers.currentProject; - const projectActions = state.trackingReducers.project_actions_list; - const projectID = project && project.projectID; - let actionID = action && action.actionId; - - if (projectID && actionID && projectActions) { - let actions = projectActions.filter(a => a.actionId === actionID); - - if (actions && actions.length > 0) { - const dataToSend = { - session_action_id: actionID, - session_project: projectID, - author: project.authorID, - last_update_date: moment().format(), - actions: JSON.stringify(actions) - }; - return api({ - url: `${base_url}/api/session-actions/${actionID}/`, - method: METHOD.PUT, - data: JSON.stringify(dataToSend) - }) - .then(() => {}) - .catch(error => { - throw new Error(error); - }) - .finally(() => {}); - } else { - return Promise.resolve(); - } - } else { - return Promise.resolve(); - } -}; - -function groupArrayOfObjects(list, key) { - return list.reduce(function(rv, x) { - (rv[x[key]] = rv[x[key]] || []).push(x); - return rv; - }, {}); -} - -export const setAndUpdateTrackingActions = (actionList, projectID) => (dispatch, getState) => { - if (projectID) { - const groupBy = groupArrayOfObjects(actionList, 'actionId'); - - for (const group in groupBy) { - let actionID = group; - let actions = groupBy[group]; - if (actionID && actions && actions.length > 0) { - const dataToSend = { - session_action_id: actionID, - session_project: projectID, - last_update_date: moment().format(), - actions: JSON.stringify(actions) - }; - return api({ - url: `${base_url}/api/session-actions/${actionID}/`, - method: METHOD.PUT, - data: JSON.stringify(dataToSend) - }) - .then(() => {}) - .catch(error => { - throw new Error(error); - }) - .finally(() => {}); - } else { - return Promise.resolve(); - } - } - } else { - return Promise.resolve(); - } -}; diff --git a/js/reducers/tracking/dispatchActionsSwitchSnapshot.js b/js/reducers/tracking/dispatchActionsSwitchSnapshot.js deleted file mode 100644 index 7f03d891d..000000000 --- a/js/reducers/tracking/dispatchActionsSwitchSnapshot.js +++ /dev/null @@ -1,623 +0,0 @@ -import { base_url, URLS } from '../../components/routes/constants'; -import { api } from '../../../js/utils/api'; -import { setCurrentSnapshot } from '../../components/projects/redux/actions'; -import { - setCurrentActionsList, - setIsActionsRestoring, - setSkipOrientationChange, - setIsSnapshotDirty, - setSnapshotActionsDownloaded -} from './actions'; -import { resetSelectionState, setScrollFiredForLHS } from '../selection/actions'; -import { - resetDatasetsStateOnSnapshotChange, - resetDatasetScrolledMap, - setSelectedDatasetScrolled -} from '../../components/datasets/redux/actions'; -import { resetViewerControlsState } from '../../components/preview/viewerControls/redux/actions'; -import { resetNglTrackingState } from '../nglTracking/dispatchActions'; -import { removeAllNglComponents } from '../ngl/actions'; -import { - restoreStateBySavedActionList, - restoreViewerControlActions, - restoreSitesActions, - restoreTagActions, - restoreMoleculesActions, - restoreRepresentationActions, - restoreMoleculeSelectionActions, - restoreTabActions, - restoreCartActions, - restoreSnapshotImageActions, - restoreNglStateAction, - restoreNglSettingsAction, - restoreCompoundsActions, - getMolecule, - getCompound, - restoreNglOrientationAnim -} from './dispatchActions'; -import { VIEWS } from '../../../js/constants/constants'; -import { loadProteinOfRestoringActions } from '../../components/preview/redux/dispatchActions'; -import { actionType, snapshotSwitchManualActions, actionObjectType } from './constants'; -import { getMoleculeForId } from '../../components/preview/tags/redux/dispatchActions'; -import { - addLigand, - removeLigand, - removeHitProtein, - addHitProtein, - removeSurface, - addSurface, - removeQuality, - addQuality, - removeComplex, - addComplex, - removeVector, - addVector, - removeDensity, - addDensity, - addDensityCustomView -} from '../../components/preview/molecule/redux/dispatchActions'; -import { getRandomColor } from '../../components/preview/molecule/utils/color'; -import { - addDatasetLigand, - removeDatasetLigand, - removeDatasetHitProtein, - addDatasetHitProtein, - removeDatasetSurface, - addDatasetSurface, - removeDatasetComplex, - addDatasetComplex -} from '../../components/datasets/redux/dispatchActions'; -import { getDifference } from './utils'; -import { setIsSnapshot, setSnapshotLoadingInProgress } from '../api/actions'; -import { isEqual, uniqWith } from 'lodash'; - -/** - * The goal of this method is to restore the state of the app based on the tracking - * action. All of the dispatched actions were added by trial and error - in case you - * need to alter, remove or add anything, you should properly test the changes. - */ -export const restoreAfterSnapshotChange = (stages, projectId) => async (dispatch, getState) => { - console.count(`restoreAfterSnapshotChange start`); - const state = getState(); - - const currentActionList = state.trackingReducers.current_actions_list; - const filteredActionList = currentActionList.filter(action => !snapshotSwitchManualActions.includes(action.type)); - const orderedActionList = filteredActionList.sort((a, b) => a.timestamp - b.timestamp); - const targetId = state.apiReducers.target_on; - - if (targetId && stages && stages.length > 0) { - console.count(`BEFORE restoration orientation from snapshot`); - await dispatch(restoreNglOrientationAnim(orderedActionList, stages)); - console.count(`AFTER restoration orientation from snapshot`); - - dispatch(setSkipOrientationChange(true)); - const majorView = stages.find(view => view.id === VIEWS.MAJOR_VIEW); - - dispatch(restoreViewerControlActions(orderedActionList)); - - // await dispatch(loadProteinOfRestoringActions({ nglViewList: stages })); - - await dispatch(restoreSitesActions(orderedActionList)); - await dispatch(restoreTagActions(orderedActionList)); - await dispatch(restoreMoleculesActions(orderedActionList, majorView.stage)); - - await dispatch(handleLigandsOfMols(currentActionList, majorView.stage)); - await dispatch(handleProteinsOfMols(currentActionList, majorView.stage)); - await dispatch(handleComplexesOfMols(currentActionList, majorView.stage)); - await dispatch(handleShowAllOfMols(currentActionList, majorView.stage)); - await dispatch(handleSurfacesOfMols(currentActionList, majorView.stage)); - await dispatch(handleQualityOfMols(currentActionList, majorView.stage)); - await dispatch(handleVectorsOfMols(currentActionList, majorView.stage)); - await dispatch(handleDensityOfMols(currentActionList, majorView.stage)); - // await dispatch(handleDensityTypeOfMols(currentActionList, majorView.stage)); - await dispatch(handleCustomDensityOfMols(currentActionList, majorView.stage)); - - await dispatch(restoreRepresentationActions(orderedActionList, stages)); - await dispatch(restoreMoleculeSelectionActions(orderedActionList)); - await dispatch(restoreTabActions(orderedActionList)); - await dispatch(restoreCartActions(orderedActionList, majorView.stage)); - await dispatch(restoreSnapshotImageActions(projectId)); - // console.count(`BEFORE restoration orientation from snapshot`); - // dispatch(restoreNglStateAction(orderedActionList, stages)); - // console.count(`AFTER restoration orientation from snapshot`); - await dispatch(restoreNglSettingsAction(orderedActionList, majorView.stage)); - // dispatch(restoreCompoundsActions(orderedActionList, majorView.stage)); - - await dispatch(handleLigandsOfCompounds(currentActionList, majorView.stage)); - await dispatch(handleProteinsOfCompounds(currentActionList, majorView.stage)); - await dispatch(handleComplexesOfCompounds(currentActionList, majorView.stage)); - await dispatch(handleSurfacesOfCompounds(currentActionList, majorView.stage)); - await dispatch(handleShowAllOfCompounds(currentActionList, majorView.stage)); - await dispatch(restoreCompoundsActions(orderedActionList, majorView.stage)); - - dispatch(setSkipOrientationChange(false)); - // console.count(`BEFORE restoration orientation from snapshot`); - // await dispatch(restoreNglStateAction(orderedActionList, stages, true)); - // console.count(`AFTER restoration orientation from snapshot`); - - dispatch(resetDatasetScrolledMap()); // Have a look at useScrollToSelected.js - dispatch(setScrollFiredForLHS(false)); - dispatch(setSelectedDatasetScrolled(false)); - dispatch(setIsActionsRestoring(false, true)); - - console.count(`restoreAfterSnapshotChange end`); - } -}; - -/** - * The goal of this method is to change the snapshot without reloading the page. - * All of the dispatched actions were added by trial and error - in case you need - * to alter, remove or add anything, you should properly test the changes. - */ -export const changeSnapshot = (projectID, snapshotID, nglViewList, stage) => async (dispatch, getState) => { - console.count(`Change snapshot - start`); - dispatch(setSnapshotActionsDownloaded(false)); - dispatch(setSnapshotLoadingInProgress(true)); - dispatch(setIsSnapshot(true)); - // A hacky way of changing the URL without triggering react-router - window.history.replaceState(null, null, `${URLS.projects}${projectID}/${snapshotID}`); - - // Load the needed data - const snapshotResponse = await api({ url: `${base_url}/api/snapshots/${snapshotID}` }); - const actionsResponse = await api({ - url: `${base_url}/api/snapshot-actions/?snapshot=${snapshotID}` - }); - - dispatch( - setCurrentSnapshot({ - id: snapshotResponse.data.id, - type: snapshotResponse.data.type, - title: snapshotResponse.data.title, - author: snapshotResponse.data.author, - description: snapshotResponse.data.description, - created: snapshotResponse.data.created, - children: snapshotResponse.data.children, - parent: snapshotResponse.data.parent, - data: snapshotResponse.data.data - }) - ); - - let results = actionsResponse.data.results; - let listToSet = []; - results.forEach(r => { - let resultActions = JSON.parse(r.actions); - listToSet.push(...resultActions); - }); - let snapshotActions = [...listToSet]; - dispatch(setCurrentActionsList(snapshotActions)); - - dispatch(resetSelectionState()); //here what is visible from the LHS is reset - dispatch(resetDatasetsStateOnSnapshotChange()); //here what is visible from RHS is reset - dispatch(resetViewerControlsState()); //LHS and RHS is/isn't visible - dispatch(resetNglTrackingState()); //???? - - // dispatch(removeAllNglComponents(stage)); //this removes everything from ngl view - - dispatch(restoreStateBySavedActionList()); - await dispatch(restoreAfterSnapshotChange(nglViewList, projectID)); - - dispatch(setIsSnapshotDirty(false)); - dispatch(setSnapshotLoadingInProgress(false)); - - console.count(`Change snapshot - end`); -}; - -//ALL_TURNED_ON is a mass action so it needs special treatment -const handleShowAllOfMols = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const molIds = dispatch(getMoleculeIdsFromActions(actions, actionType.ALL_TURNED_ON)); - const ligands = state.selectionReducers.fragmentDisplayList; - const proteins = state.selectionReducers.proteinList; - const complexes = state.selectionReducers.complexList; - - for (const molId of molIds) { - const mol = dispatch(getMoleculeForId(molId.id)); - if (mol) { - const action = actions.find( - a => - a.type === actionType.ALL_TURNED_ON && a.object_id === molId.id && a.object_type === actionObjectType.MOLECULE - ); - if (action.isLigand && !ligands.find(l => l === molId.id)) { - await dispatch(addLigand(stage, mol, getRandomColor(mol), false, true, true)); - } - if (action.isProtein && !proteins.find(p => p === molId.id)) { - await dispatch(addHitProtein(stage, mol, getRandomColor(mol), true, true)); - } - if (action.isComplex && !complexes.find(c => c === molId.id)) { - await dispatch(addComplex(stage, mol, getRandomColor(mol), true)); - } - } - } -}; - -//ALL_TURNED_ON is a mass action so it needs special treatment -const handleShowAllOfCompounds = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const compounds = dispatch(getCompoundsIdsFromActions(actions, actionType.ALL_TURNED_ON)); - const ligands = state.datasetsReducers.ligandLists; - const proteins = state.datasetsReducers.proteinLists; - const complexes = state.datasetsReducers.complexLists; - - for (const [datasetId, cmpIds] of Object.entries(compounds)) { - for (const cmpId of cmpIds) { - const cmp = dispatch(getCompoundById(cmpId.id, datasetId)); - if (cmp) { - const action = actions.find( - a => - a.type === actionType.ALL_TURNED_ON && - a.object_id === cmpId.id && - a.object_type === actionObjectType.COMPOUND - ); - if (action.isLigand && !ligands[datasetId]?.find(l => l === cmpId.id)) { - await dispatch(addDatasetLigand(stage, cmp, getRandomColor(cmp), datasetId, true)); - } - if (action.isProtein && !proteins[datasetId]?.find(p => p === cmpId.id)) { - await dispatch(addDatasetHitProtein(stage, cmp, getRandomColor(cmp), datasetId, true)); - } - if (action.isComplex && !complexes[datasetId]?.find(c => c === cmpId.id)) { - await dispatch(addDatasetComplex(stage, cmp, getRandomColor(cmp), datasetId, true)); - } - } - } - } -}; - -const handleLigandsOfMols = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForMols(actions, actionType.LIGAND_TURNED_ON, state.selectionReducers.fragmentDisplayList) - ); - - instructions.toTurnOff.forEach(molId => { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - dispatch(removeLigand(stage, mol, true)); - } - }); - - for (const molId of instructions.toTurnOn) { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - await dispatch(addLigand(stage, mol, getRandomColor(mol), false, true, true)); - } - } -}; - -const handleLigandsOfCompounds = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForCompounds(actions, actionType.LIGAND_TURNED_ON, state.datasetsReducers.ligandLists) - ); - - for (const [datasetId, cmpIds] of Object.entries(instructions)) { - cmpIds.toTurnOff.forEach(cmpId => { - const cmp = dispatch(getCompoundById(cmpId, datasetId)); - if (cmp) { - dispatch(removeDatasetLigand(stage, cmp, getRandomColor(cmp), datasetId, true)); - } - }); - for (const cmpId of cmpIds.toTurnOn) { - const cmp = dispatch(getCompoundById(cmpId, datasetId)); - if (cmp) { - await dispatch(addDatasetLigand(stage, cmp, getRandomColor(cmp), datasetId, true)); - } - } - } -}; - -const handleProteinsOfMols = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForMols(actions, actionType.SIDECHAINS_TURNED_ON, state.selectionReducers.proteinList) - ); - - instructions.toTurnOff.forEach(molId => { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - dispatch(removeHitProtein(stage, mol, getRandomColor(mol), true)); - } - }); - for (const molId of instructions.toTurnOn) { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - await dispatch(addHitProtein(stage, mol, getRandomColor(mol), true, true)); - } - } -}; - -const handleProteinsOfCompounds = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForCompounds(actions, actionType.SIDECHAINS_TURNED_ON, state.datasetsReducers.proteinLists) - ); - - for (const [datasetId, cmpIds] of Object.entries(instructions)) { - cmpIds.toTurnOff.forEach(cmpId => { - const cmp = dispatch(getCompoundById(cmpId, datasetId)); - if (cmp) { - dispatch(removeDatasetHitProtein(stage, cmp, getRandomColor(cmp), datasetId, true)); - } - }); - for (const cmpId of cmpIds.toTurnOn) { - const cmp = dispatch(getCompoundById(cmpId, datasetId)); - if (cmp) { - await dispatch(addDatasetHitProtein(stage, cmp, getRandomColor(cmp), datasetId, true)); - } - } - } -}; - -const handleSurfacesOfMols = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForMols(actions, actionType.SURFACE_TURNED_ON, state.selectionReducers.surfaceList) - ); - - instructions.toTurnOff.forEach(molId => { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - dispatch(removeSurface(stage, mol, getRandomColor(mol), true)); - } - }); - - for (const molId of instructions.toTurnOn) { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - await dispatch(addSurface(stage, mol, getRandomColor(mol), true)); - } - } -}; - -const handleSurfacesOfCompounds = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForCompounds(actions, actionType.SURFACE_TURNED_ON, state.datasetsReducers.surfaceLists) - ); - - for (const [datasetId, cmpIds] of Object.entries(instructions)) { - cmpIds.toTurnOff.forEach(cmpId => { - const cmp = dispatch(getCompoundById(cmpId, datasetId)); - if (cmp) { - dispatch(removeDatasetSurface(stage, cmp, getRandomColor(cmp), datasetId, true)); - } - }); - for (const cmpId of cmpIds.toTurnOn) { - const cmp = dispatch(getCompoundById(cmpId, datasetId)); - if (cmp) { - await dispatch(addDatasetSurface(stage, cmp, getRandomColor(cmp), datasetId)); - } - } - } -}; - -const handleQualityOfMols = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - - //quality is turned on implicitly by turning on ligands so in this case we just need to turn off quality - //for mols which are in the snapshot. Just make sure that ligands are turned on first (and that action is awaited) - let molIds = dispatch(getMoleculeIdsFromActions(actions, actionType.QUALITY_TURNED_OFF)); - molIds.forEach(async molId => { - const mol = dispatch(getMoleculeForId(molId.id)); - if (mol) { - await dispatch(removeQuality(stage, mol, getRandomColor(mol), true)); - } - }); - - //now we need to get all the ligands that should be on and turn on quality for them if the quality - //was off in current snapshot. This is because if ligand is on in both snapshots it's not rerendered - // (which implicitly turns on quality) so we need to render it manually - molIds = dispatch(getMoleculeIdsFromActions(actions, actionType.LIGAND_TURNED_ON)); - const currentlyOnQuality = state.selectionReducers.qualityList; - for (const molId of molIds) { - if (!currentlyOnQuality.find(q => q === molId.id)) { - const mol = dispatch(getMoleculeForId(molId.id)); - if (mol) { - await dispatch(addQuality(stage, mol, getRandomColor(mol), true)); - } - } - } -}; - -const handleComplexesOfMols = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForMols(actions, actionType.INTERACTIONS_TURNED_ON, state.selectionReducers.complexList) - ); - - instructions.toTurnOff.forEach(molId => { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - dispatch(removeComplex(stage, mol, getRandomColor(mol), true)); - } - }); - - for (const molId of instructions.toTurnOn) { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - await dispatch(addComplex(stage, mol, getRandomColor(mol), true)); - } - } -}; - -const handleComplexesOfCompounds = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForCompounds(actions, actionType.INTERACTIONS_TURNED_ON, state.datasetsReducers.complexLists) - ); - - for (const [datasetId, cmpIds] of Object.entries(instructions)) { - cmpIds.toTurnOff.forEach(cmpId => { - const cmp = dispatch(getCompoundById(cmpId, datasetId)); - if (cmp) { - dispatch(removeDatasetComplex(stage, cmp, getRandomColor(cmp), datasetId, true)); - } - }); - for (const cmpId of cmpIds.toTurnOn) { - const cmp = dispatch(getCompoundById(cmpId, datasetId)); - if (cmp) { - await dispatch(addDatasetComplex(stage, cmp, getRandomColor(cmp), datasetId, true)); - } - } - } -}; - -const handleVectorsOfMols = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForMols(actions, actionType.VECTORS_TURNED_ON, state.selectionReducers.fragmentDisplayList) //TODO ??????? - ); - - instructions.toTurnOff.forEach(molId => { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - dispatch(removeVector(stage, mol, true)); - } - }); - - for (const molId of instructions.toTurnOn) { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - await dispatch(addVector(stage, mol, true)); - } - } -}; - -const handleDensityOfMols = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForMols(actions, actionType.DENSITY_TURNED_ON, state.selectionReducers.densityList) - ); - - instructions.toTurnOff.forEach(molId => { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - dispatch(removeDensity(stage, mol, getRandomColor(mol), false, true)); - } - }); - for (const molId of instructions.toTurnOn) { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - await dispatch(addDensity(stage, mol, getRandomColor(mol), true, true)); - } - } -}; - -const handleCustomDensityOfMols = (actions, stage) => async (dispatch, getState) => { - const state = getState(); - const instructions = dispatch( - getRestoreInstructionsForMols( - actions, - actionType.DENSITY_CUSTOM_TURNED_ON, - state.selectionReducers.densityListCustom - ) - ); - - instructions.toTurnOff.forEach(molId => { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - dispatch(removeDensity(stage, mol, getRandomColor(mol), false, true)); - } - }); - - for (const molId of instructions.toTurnOn) { - const mol = dispatch(getMoleculeForId(molId)); - if (mol) { - await dispatch(addDensityCustomView(stage, mol, getRandomColor(mol), true, true)); - } - } -}; - -//this one is wrong. If testing shows that we need to handle this in this way then it will need fixing -//it needs to get which maps are enabled from the action and also which is disabled so actually -//the implementation will be more akin to handleShowAllOfMols -const handleDensityTypeOfMols = (actions, stage) => async (dispatch, getState) => {}; - -const getInstructions = (idObjects, visibleIds) => { - const cmpIdsFromActions = idObjects.map(idObject => idObject.id); - const molsToTurnOff = getDifference(visibleIds, cmpIdsFromActions); - const molsToTurnOn = getDifference(cmpIdsFromActions, visibleIds); - - return { toTurnOn: molsToTurnOn, toTurnOff: molsToTurnOff }; -}; - -const getRestoreInstructionsForMols = (actions, actionType, list) => (dispatch, getState) => { - const molIds = dispatch(getMoleculeIdsFromActions(actions, actionType)); - - return getInstructions(molIds, list); -}; - -const getRestoreInstructionsForCompounds = (actions, actionType, compoundsLists) => (dispatch, getState) => { - const state = getState(); - const compounds = dispatch(getCompoundsIdsFromActions(actions, actionType)); - const allDatasets = state.datasetsReducers.datasets; - - const result = {}; - const datasetsVisited = {}; - - Object.entries(compounds).map(([datasetId, cmpIds]) => { - datasetsVisited[datasetId] = true; - const list = compoundsLists[datasetId]; - const instructions = getInstructions(cmpIds, list); - result[datasetId] = instructions; - }); - - //this is here because if someone selectes A button on the compound (RHS which turns on L, P and C) - //whitout ever using button on other compounds from given dataset then we need to turn them off - //this way because turn on and off instructions are not generated for the action and dataset combo which is not in the snapshot - allDatasets.forEach(dataset => { - if (!datasetsVisited.hasOwnProperty(dataset.id) || !datasetsVisited[dataset.id]) { - const list = compoundsLists[dataset.id]; - const instructions = getInstructions([], list); - result[dataset.id] = instructions; - } - }); - - return result; -}; - -const getMoleculeIdsFromActions = (actions, actionType) => (dispatch, getState) => { - const state = getState(); - let result = actions - .filter(action => action.type === actionType && action.object_type === actionObjectType.MOLECULE) - .map(action => { - const mol = getMolecule(action.object_name, state); - if (mol) { - return { id: mol?.id, name: mol?.code }; - } - }); - result = uniqWith(result, isEqual); - - return result; -}; - -const getCompoundsIdsFromActions = (actions, actionType) => (dispatch, getState) => { - const state = getState(); - - let cmpOjects = actions - .filter(action => action.type === actionType && action.object_type === actionObjectType.COMPOUND) - .map(action => { - const cmp = getCompound(action, state); - if (cmp) { - return { datasetId: action.dataset_id, id: cmp?.id, name: cmp.name }; - } - }); - const result = {}; - cmpOjects.forEach(cmp => { - if (cmp) { - let datasetCmps = []; - if (result.hasOwnProperty(cmp.datasetId)) { - datasetCmps = result[cmp.datasetId]; - } - datasetCmps = [...datasetCmps, { id: cmp.id, name: cmp.name }]; - result[cmp.datasetId] = datasetCmps; - } - }); - - return result; -}; - -export const getCompoundById = (id, datasetId) => (dispatch, getState) => { - const state = getState(); - const datasetCmps = state.datasetsReducers.moleculeLists[datasetId]; - return datasetCmps?.find(cmp => cmp.id === id); -}; diff --git a/js/reducers/tracking/trackingActions.js b/js/reducers/tracking/trackingActions.js deleted file mode 100644 index 8415e4811..000000000 --- a/js/reducers/tracking/trackingActions.js +++ /dev/null @@ -1,2146 +0,0 @@ -import { - actionType, - actionObjectType, - actionDescription, - actionAnnotation, - mapTypesStrings, - viewerControlsSides -} from './constants'; -import { constants as apiConstants } from '../api/constants'; -import { CONSTANTS as nglConstants } from '../ngl/constants'; -import { constants as previewCompoundConstants } from '../../components/preview/compounds/redux/constants'; -import { constants as selectionConstants } from '../selection/constants'; -import { constants as customDatasetConstants } from '../../components/datasets/redux/constants'; -import { constants as viewerControlsConstants } from '../../components/preview/viewerControls/redux/constants'; -import { DJANGO_CONTEXT } from '../../utils/djangoContext'; -import { BACKGROUND_COLOR } from '../../components/nglView/constants/index'; -import { getMoleculeForId } from '../../components/preview/tags/redux/dispatchActions'; -import { constants as moleculeConstants } from '../../components/preview/molecule/redux/constants'; - -export const findTrackAction = (action, state) => (dispatch, getState) => { - const username = DJANGO_CONTEXT['username']; - const target_on_name = state.apiReducers.target_on_name; - const isActionRestoring = state.trackingReducers.isActionRestoring; - - let trackAction = null; - if (isActionRestoring === false && action.skipTracking !== true) { - if (action.type === apiConstants.SET_TARGET_ON) { - if (action.target_on) { - let targetName = getTargetName(action.target_on, state); - trackAction = { - type: actionType.TARGET_LOADED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.TARGET, - object_name: targetName, - object_id: action.target_on, - text: `${actionDescription.TARGET} ${targetName} ${actionDescription.LOADED}` - }; - } - } else if (action.type === selectionConstants.APPEND_SELECTED_TAG_LIST) { - if (action.item) { - trackAction = { - type: actionType.TAG_SELECTED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.TAG, - object_name: action.item.tag, - object_id: action.item.id, - text: `${actionDescription.TAG} ${action.item.tag} ${actionDescription.TURNED_ON}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_SELECTED_TAG_LIST) { - if (action.item) { - trackAction = { - type: actionType.TAG_UNSELECTED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.TAG, - object_name: action.item.tag, - object_id: action.item.id, - text: `${actionDescription.TAG} ${action.item.tag} ${actionDescription.TURNED_OFF}` - }; - } - } else if (action.type === selectionConstants.SET_OBSERVATION_DIALOG_ACTION) { - if (action) { - trackAction = { - type: actionType.POSE_WINDOW_ACTION, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.MOLECULE, - object_name: action.poseId, - object_id: action.poseId, - items: action?.observations?.length > 0 ? [...action.observations] : [], - isOpen: action.open, - prevPoseId: action.prevPoseId, - prevObservations: action.prevObservations, - text: action.open ? `Pose window opened` : `Pose window closed` - }; - } - } else if (action.type === customDatasetConstants.SET_INSPIRATION_DIALOG_ACTION) { - if (action) { - trackAction = { - type: actionType.INSPIRATION_WINDOW_ACTION, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.COMPOUND, - object_name: action.inspirationList, - object_id: action.inspirationList, - items: action?.inpsirations?.length > 0 ? [...action.inpsirations] : [], - datasetID: action.datasetID, - isOpen: action.open, - prevCmpdId: action.prevInspirationList?.length > 0 ? action.prevInspirationList[0] : 0, - prevInspirations: action.prevInspirations, - isSelectedList: action.isSelectedList, - text: action.open ? `Inspirations window opened` : `Inspirations window closed` - }; - } - } else if (action.type === apiConstants.SET_MOL_GROUP_ON) { - if (action.mol_group_on) { - let molGroupSelection = state.selectionReducers.mol_group_selection; - let currentMolGroup = molGroupSelection && molGroupSelection.find(o => o === action.mol_group_on); - if (!currentMolGroup) { - let molGroupName = getMolGroupName(action.mol_group_on, state); - trackAction = { - type: actionType.SITE_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.SITE, - object_name: molGroupName, - object_id: action.mol_group_on, - text: `${actionDescription.SITE} ${molGroupName} ${actionDescription.TURNED_ON}` - }; - } - } - } else if (action.type === apiConstants.SET_MOL_GROUP_OFF) { - const { mol_group_off } = action; - let molGroupName = getMolGroupName(mol_group_off, state); - trackAction = { - type: actionType.SITE_TURNED_OFF, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.SITE, - object_name: molGroupName, - object_id: mol_group_off, - text: `${actionDescription.SITE} ${molGroupName} ${actionDescription.TURNED_OFF}` - }; - } else if (action.type === selectionConstants.SET_OBJECT_SELECTION) { - let objectId = action.payload && action.payload[0]; - if (objectId) { - let molGroupName = getMolGroupName(objectId, state); - trackAction = { - type: actionType.SITE_TURNED_OFF, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.SITE, - object_name: molGroupName, - object_id: objectId, - text: `${actionDescription.SITE} ${molGroupName} ${actionDescription.TURNED_OFF}` - }; - } - } else if (action.type === selectionConstants.SET_HIDE_ALL) { - if (action.data) { - let objectType = actionObjectType.MOLECULE; - let description = action.isHide === true ? `` : `${actionDescription.CANCELED}`; - - trackAction = { - type: actionType.ALL_HIDE, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - data: action.data, - text: `${actionDescription.ALL} ${actionDescription.HIDDEN} ${description}` - }; - } - } else if (action.type === selectionConstants.SET_SELECTED_ALL) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.ALL_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - isLigand: action.isLigand, - isProtein: action.isProtein, - isComplex: action.isComplex, - item: action.item, - text: `${actionDescription.ALL} ${actionDescription.TURNED_ON} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.SET_DESELECTED_ALL) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.ALL_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - isLigand: action.isLigand, - isProtein: action.isProtein, - isComplex: action.isComplex, - item: action.item, - text: `${actionDescription.ALL} ${actionDescription.TURNED_OFF} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.SET_SELECTED_BY_TYPE) { - if (action.payload) { - let payload = action.payload; - let objectType = payload.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let paylodTypeDescription = getTypeDescriptionOfSelectedAllAction(payload.type); - - trackAction = { - type: actionType.SELECTED_TURNED_ON_BY_TYPE, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - control_type: payload.type, - items: payload.items, - text: `${actionDescription.SELECTED_TYPE} ${paylodTypeDescription} ${actionDescription.TURNED_ON} ${objectType}` - }; - } - } else if (action.type === selectionConstants.SET_DESELECTED_ALL_BY_TYPE) { - if (action.payload) { - let payload = action.payload; - let objectType = payload.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let paylodTypeDescription = getTypeDescriptionOfSelectedAllAction(payload.type); - - trackAction = { - type: actionType.ALL_TURNED_OFF_BY_TYPE, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - control_type: payload.type, - items: payload.items, - text: `${actionDescription.ALL} ${paylodTypeDescription} ${actionDescription.TURNED_OFF} ${objectType}` - }; - } - } else if (action.type === customDatasetConstants.APPEND_COLOR_TO_ALL_COMPOUNDS_OF_DATASET) { - let objectType = actionObjectType.COMPOUND; - - trackAction = { - type: actionType.ALL_COMPOUNDS_ADDED_TO_COLOR_GROUP, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - items: action.payload.cmpIds, - color: action.payload.colorClass, - dataset_id: action.payload.datasetID, - text: `All compounds of dataset ${action.payload.datasetID} were colored with color ${action.payload.colorClass}` - }; - } else if (action.type === customDatasetConstants.REMOVE_COLOR_FROM_ALL_COMPOUNDS_OF_DATASET) { - let objectType = actionObjectType.COMPOUND; - - trackAction = { - type: actionType.ALL_COMPOUNDS_REMOVED_FROM_COLOR_GROUP, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - items: action.payload.cmpIds, - color: action.payload.colorClass, - dataset_id: action.payload.datasetID, - text: `All compounds of dataset ${action.payload.datasetID} were unpainted with color ${action.payload.colorClass}` - }; - } else if (action.type === selectionConstants.SET_SELECT_ALL_MOLECULES) { - if (action && action.items) { - let objectType = actionObjectType.MOLECULE; - - trackAction = { - type: actionType.ALL_MOLECULES_SELECTED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - items: [...action.items], - text: `All hits were selected` - }; - } - } else if (action.type === selectionConstants.SET_UNSELECT_ALL_MOLECULES) { - if (action && action.items) { - let objectType = actionObjectType.MOLECULE; - - trackAction = { - type: actionType.ALL_MOLECULES_UNSELECTED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - items: action.items, - text: `All hits were unselected` - }; - } - } else if (action.type === selectionConstants.SET_SELECT_VISIBLE_POSES) { - if (action && action.items) { - let objectType = actionObjectType.MOLECULE; - - trackAction = { - type: actionType.ALL_VISIBLE_HITS_SELECTED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - items: [...action.items], - text: `All visible hits were selected` - }; - } - } else if (action.type === selectionConstants.SET_UNSELECT_VISIBLE_POSES) { - if (action && action.items) { - let objectType = actionObjectType.MOLECULE; - - trackAction = { - type: actionType.ALL_VISIBLE_HITS_UNSELECTED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - items: [...action.items], - text: `All visible hits were unselected` - }; - } - } else if (action.type === selectionConstants.APPEND_FRAGMENT_DISPLAY_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.LIGAND_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.LIGAND} ${actionDescription.TURNED_ON} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_FRAGMENT_DISPLAY_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.LIGAND_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.LIGAND} ${actionDescription.TURNED_OFF} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.APPEND_PROTEIN_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.SIDECHAINS_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.SIDECHAIN} ${actionDescription.TURNED_ON} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_PROTEIN_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.SIDECHAINS_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.SIDECHAIN} ${actionDescription.TURNED_OFF} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.APPEND_DENSITY_TYPE) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.DENSITY_TYPE_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - render_event: action.item.render_event, - render_sigmaa: action.item.render_sigmaa, - render_diff: action.item.render_diff, - render_quality: action.item.render_quality, - text: `${actionDescription.DENSITY} ${actionDescription.TURNED_ON} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } else if (action.type === selectionConstants.REMOVE_DENSITY_TYPE) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.DENSITY_TYPE_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.DENSITY} ${actionDescription.TURNED_OFF} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } else if (action.type === selectionConstants.APPEND_DENSITY_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.DENSITY_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.DENSITY} ${actionDescription.TURNED_ON} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_DENSITY_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.DENSITY_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.DENSITY} ${actionDescription.TURNED_OFF} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.APPEND_DENSITY_LIST_CUSTOM) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.DENSITY_CUSTOM_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.DENSITY} ${actionDescription.CUSTOM_VIEW} ${ - actionDescription.TURNED_ON - } ${objectType} ${getMoleculeTitle(objectName, target_on_name)}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_DENSITY_LIST_CUSTOM) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.DENSITY_CUSTOM_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.DENSITY} ${actionDescription.CUSTOM_VIEW} ${ - actionDescription.TURNED_OFF - } ${objectType} ${getMoleculeTitle(objectName, target_on_name)}` - }; - } - } else if (action.type === selectionConstants.APPEND_COMPLEX_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.INTERACTIONS_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.INTERACTION} ${actionDescription.TURNED_ON} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_COMPLEX_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.INTERACTIONS_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.INTERACTION} ${actionDescription.TURNED_OFF} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.APPEND_SURFACE_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.SURFACE_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.SURFACE} ${actionDescription.TURNED_ON} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_SURFACE_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.SURFACE_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.SURFACE} ${actionDescription.TURNED_OFF} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.APPEND_QUALITY_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.QUALITY_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.QUALITY} ${actionDescription.TURNED_ON} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_QUALITY_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.QUALITY_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.QUALITY} ${actionDescription.TURNED_OFF} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.APPEND_VECTOR_ON_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.VECTORS_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.VECTOR} ${actionDescription.TURNED_ON} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_VECTOR_ON_LIST) { - if (action.item) { - let objectType = action.item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectName = action.item.name || getMoleculeName(action.item.id, state); - - trackAction = { - type: actionType.VECTORS_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.item.id, - text: `${actionDescription.VECTOR} ${actionDescription.TURNED_OFF} ${objectType} ${getMoleculeTitle( - objectName, - target_on_name - )}` - }; - } - } else if (action.type === selectionConstants.SET_ARROW_UP_DOWN) { - let payload = action.payload; - if (payload) { - let item = payload.item; - let newItem = payload.newItem; - let objectType = item && item.isInspiration === true ? actionObjectType.INSPIRATION : actionObjectType.MOLECULE; - let objectTypeDescription = - item && item.isInspiration === true ? actionDescription.INSPIRATION : actionDescription.MOLECULE; - let itemName = item?.name || getMoleculeName(item?.id, state); - let newItemName = newItem?.name || getMoleculeName(newItem?.id, state); - - trackAction = { - type: actionType.ARROW_NAVIGATION, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: itemName, - object_id: item?.id, - item: item, - newItem: newItem, - data: payload.data, - arrowType: payload.arrowType, - text: `${objectTypeDescription} ${actionDescription.MOVED} from: ${itemName} to ${newItemName}` - }; - } - } else if (action.type === selectionConstants.APPEND_TO_BUY_LIST) { - if (action.item) { - let objectType = actionObjectType.MOLECULE; - let objectName = action.item && action.item.vector; - - trackAction = { - type: actionType.MOLECULE_ADDED_TO_SHOPPING_CART, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: objectName, - compoundId: action.index, - item: action.item, - text: `${actionDescription.VECTOR} ${objectName} ${actionDescription.ADDED} ${actionDescription.TO_SHOPPING_CART}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_TO_BUY_LIST) { - if (action.item) { - let objectType = actionObjectType.MOLECULE; - let objectName = action.item && action.item.vector; - - trackAction = { - type: actionType.MOLECULE_REMOVED_FROM_SHOPPING_CART, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: objectName, - compoundId: action.index, - item: action.item, - text: `${actionDescription.VECTOR} ${objectName} ${actionDescription.REMOVED} ${actionDescription.FROM_SHOPPING_CART}` - }; - } - } else if (action.type === selectionConstants.APPEND_TO_BUY_LIST_ALL) { - let items = action.items; - let objectType = actionObjectType.COMPOUND; - - trackAction = { - type: actionType.MOLECULE_ADDED_TO_SHOPPING_CART_ALL, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - items: items, - text: `${actionDescription.ALL} ${actionDescription.ADDED} ${actionDescription.TO_SHOPPING_CART}` - }; - } else if (action.type === selectionConstants.REMOVE_FROM_BUY_LIST_ALL) { - let items = action.items; - let objectType = actionObjectType.COMPOUND; - - trackAction = { - type: actionType.MOLECULE_REMOVED_FROM_SHOPPING_CART_ALL, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - items: items, - text: `${actionDescription.ALL} ${actionDescription.REMOVED} ${actionDescription.FROM_SHOPPING_CART}` - }; - } else if (action.type === previewCompoundConstants.APPEND_SHOWED_COMPOUND_LIST) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.item && action.item.vector; - let objectId = action.item && action.item.smiles; - - trackAction = { - type: actionType.VECTOR_COUMPOUND_ADDED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: objectId, - item: action.item, - compoundId: action.payload, - text: `${actionDescription.COMPOUND} ${objectName} ${actionDescription.ADDED}` - }; - } else if (action.type === previewCompoundConstants.REMOVE_SHOWED_COMPOUND_LIST) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.item && action.item.vector; - let objectId = action.item && action.item.smiles; - - trackAction = { - type: actionType.VECTOR_COUMPOUND_REMOVED, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: objectId, - item: action.item, - compoundId: action.payload, - text: `${actionDescription.COMPOUND} ${objectName} ${actionDescription.REMOVED}` - }; - } else if (action.type === selectionConstants.SET_CURRENT_VECTOR) { - if (action.payload) { - let objectType = actionObjectType.MOLECULE; - let objectName = action.payload; - - trackAction = { - type: actionType.VECTOR_SELECTED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload, - text: `${actionDescription.VECTOR} ${objectName} ${actionDescription.SELECTED}` - }; - } - } else if (action.type === customDatasetConstants.APPEND_COLOR_TO_SELECTED_COLOR_FILTERS) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - - trackAction = { - type: actionType.COLOR_FILTER_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: 'color_filter', - object_id: 'color_filter', - value: action.payload.colorClass, - text: `${actionDescription.CLASS} filter turned on for color: ${action.payload.colorClass} ` - }; - } - } else if (action.type === customDatasetConstants.REMOVE_COLOR_FROM_SELECTED_COLOR_FILTERS) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - - trackAction = { - type: actionType.COLOR_FILTER_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: 'color_filter', - object_id: 'color_filter', - value: action.payload.colorClass, - text: `${actionDescription.CLASS} filter turned off for color: ${action.payload.colorClass} ` - }; - } - } else if (action.type === previewCompoundConstants.SET_CURRENT_COMPOUND_CLASS) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.payload; - let oldObjectName = action.oldCompoundClass; - - trackAction = { - type: actionType.CLASS_SELECTED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: objectName, - oldValue: oldObjectName, - value: objectName, - text: `${actionDescription.CLASS} ${actionDescription.CHANGED} from value: ${oldObjectName} to value: ${objectName}` - }; - } - } else if (action.type === previewCompoundConstants.SET_COMPOUND_CLASSES) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - - trackAction = { - type: actionType.CLASS_UPDATED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: action.value, - object_id: action.id, - newCompoundClasses: action.payload, - oldCompoundClasses: action.oldCompoundClasses, - text: `${actionDescription.CLASS} value ${actionDescription.UPDATED}: ${action.id}:${action.value}` - }; - } - } else if (action.type === customDatasetConstants.APPEND_COMPOUND_TO_SELECTED_COMPOUNDS_BY_DATASET) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.payload.compoundTitle; - - trackAction = { - type: actionType.COMPOUND_LOCKED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.compoundID, - dataset_id: action.payload.datasetID, - text: `${objectType} ${objectName} ${actionDescription.LOCKED} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.REMOVE_COMPOUND_FROM_SELECTED_COMPOUNDS_BY_DATASET) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.payload.compoundTitle; - - trackAction = { - type: actionType.COMPOUND_UNLOCKED, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.compoundID, - dataset_id: action.payload.datasetID, - text: `${objectType} ${objectName} ${actionDescription.UNLOCKED} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.APPEND_COMPOUND_COLOR_OF_DATASET) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.payload.compoundTitle; - - trackAction = { - type: actionType.COMPOUND_ADDED_TO_COLOR_GROUP, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.compoundID, - dataset_id: action.payload.datasetID, - color_class: action.payload.colorClass, - text: `${objectType} ${objectName} ${actionDescription.ADDED_TO_COLOR_GROUP} ${action.payload.colorClass} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.REMOVE_COMPOUND_COLOR_OF_DATASET) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.payload.compoundTitle; - - trackAction = { - type: actionType.COMPOUND_REMOVED_FROM_COLOR_GROUP, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.compoundID, - dataset_id: action.payload.datasetID, - color_class: action.payload.colorClass, - text: `${objectType} ${objectName} ${actionDescription.REMOVED_FROM_COLOR_GROUP} ${action.payload.colorClass} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.APPEND_MOLECULE_TO_COMPOUNDS_TO_BUY_OF_DATASET) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.payload.moleculeTitle; - - trackAction = { - type: actionType.COMPOUND_SELECTED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.moleculeID, - dataset_id: action.payload.datasetID, - text: `${objectType} ${objectName} ${actionDescription.SELECTED} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.REMOVE_MOLECULE_FROM_COMPOUNDS_TO_BUY_OF_DATASET) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.payload.moleculeTitle; - - trackAction = { - type: actionType.COMPOUND_DESELECTED, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.moleculeID, - dataset_id: action.payload.datasetID, - text: `${objectType} ${objectName} ${actionDescription.DESELECTED} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === selectionConstants.APPEND_TO_MOL_LIST_TO_EDIT) { - if (action.molId) { - let objectType = actionObjectType.MOLECULE; - let molId = action.molId; - let mol = dispatch(getMoleculeForId(molId)); - let objectName = mol.code; - - trackAction = { - type: actionType.MOLECULE_SELECTED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: molId, - text: `${objectType} ${objectName} ${actionDescription.SELECTED}` - }; - } - } else if (action.type === selectionConstants.REMOVE_FROM_MOL_LIST_TO_EDIT) { - if (action.molId) { - let objectType = actionObjectType.MOLECULE; - let molId = action.molId; - let mol = dispatch(getMoleculeForId(molId)); - let objectName = mol.code; - - trackAction = { - type: actionType.MOLECULE_UNSELECTED, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: molId, - text: `${objectType} ${objectName} ${actionDescription.DESELECTED}` - }; - } - } else if (action.type === customDatasetConstants.SET_SELECTED_ALL) { - if (action.payload && action.payload.item) { - let objectType = - action.payload.item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectName = action.payload.item.name; - - trackAction = { - type: actionType.ALL_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.item.id, - dataset_id: action.payload.datasetID, - isLigand: action.payload.isLigand, - isProtein: action.payload.isProtein, - isComplex: action.payload.isComplex, - item: action.payload.item, - text: `${actionDescription.ALL} ${actionDescription.TURNED_ON} ${objectType} ${objectName} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.SET_DESELECTED_ALL) { - if (action.payload && action.payload.item) { - let objectType = - action.payload.item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectName = action.payload.item.name; - - trackAction = { - type: actionType.ALL_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.item.id, - dataset_id: action.payload.datasetID, - isLigand: action.payload.isLigand, - isProtein: action.payload.isProtein, - isComplex: action.payload.isComplex, - item: action.payload.item, - text: `${actionDescription.ALL} ${actionDescription.TURNED_OFF} ${objectType} ${objectName} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.SET_SELECTED_BY_TYPE) { - if (action.payload) { - let payload = action.payload; - let objectType = - payload.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let paylodTypeDescription = getTypeDescriptionOfSelectedAllAction(payload.type); - let datasetDescription = payload.datasetID ? `of dataset: ${payload.datasetID}` : ''; - - trackAction = { - type: actionType.SELECTED_TURNED_ON_BY_TYPE, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - control_type: payload.type, - items: payload.items, - text: `${actionDescription.SELECTED_TYPE} ${paylodTypeDescription} ${actionDescription.TURNED_ON} ${objectType} ${datasetDescription}` - }; - } - } else if (action.type === customDatasetConstants.SET_DESELECTED_ALL_BY_TYPE) { - if (action.payload) { - let payload = action.payload; - let objectType = - payload.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let paylodTypeDescription = getTypeDescriptionOfSelectedAllAction(payload.type); - let datasetDescription = payload.datasetID ? `of dataset: ${payload.datasetID}` : ''; - - trackAction = { - type: actionType.ALL_TURNED_OFF_BY_TYPE, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - control_type: payload.type, - items: payload.items, - text: `${actionDescription.ALL} ${paylodTypeDescription} ${actionDescription.TURNED_OFF} ${objectType} ${datasetDescription}` - }; - } - } else if (action.type === customDatasetConstants.APPEND_LIGAND_LIST) { - if (action.payload && action.payload.item) { - let objectType = - action.payload.item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectName = action.payload.item.name; - - trackAction = { - type: actionType.LIGAND_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.item.id, - dataset_id: action.payload.datasetID, - text: `${actionDescription.LIGAND} ${actionDescription.TURNED_ON} ${objectType} ${objectName} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.REMOVE_FROM_LIGAND_LIST) { - if (action.payload && action.payload.item) { - let objectType = - action.payload.item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectName = action.payload.item.name; - - trackAction = { - type: actionType.LIGAND_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.item.id, - dataset_id: action.payload.datasetID, - text: `${actionDescription.LIGAND} ${actionDescription.TURNED_OFF} ${objectType} ${objectName} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.APPEND_PROTEIN_LIST) { - if (action.payload && action.payload.item) { - let objectType = - action.payload.item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectName = action.payload.item.name; - - trackAction = { - type: actionType.SIDECHAINS_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.item.id, - dataset_id: action.payload.datasetID, - text: `${actionDescription.SIDECHAIN} ${actionDescription.TURNED_ON} ${objectType} ${objectName} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.REMOVE_FROM_PROTEIN_LIST) { - if (action.payload && action.payload.item) { - let objectType = - action.payload.item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectName = action.payload.item.name; - - trackAction = { - type: actionType.SIDECHAINS_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.item.id, - dataset_id: action.payload.datasetID, - text: `${actionDescription.SIDECHAIN} ${actionDescription.TURNED_OFF} ${objectType} ${objectName} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.APPEND_COMPLEX_LIST) { - if (action.payload && action.payload.item) { - let objectType = - action.payload.item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectName = action.payload.item.name; - - trackAction = { - type: actionType.INTERACTIONS_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.item.id, - dataset_id: action.payload.datasetID, - text: `${actionDescription.INTERACTION} ${actionDescription.TURNED_ON} ${objectType} ${objectName} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.REMOVE_FROM_COMPLEX_LIST) { - if (action.payload && action.payload.item) { - let objectType = - action.payload.item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectName = action.payload.item.name; - - trackAction = { - type: actionType.INTERACTIONS_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.item.id, - dataset_id: action.payload.datasetID, - text: `${actionDescription.INTERACTION} ${actionDescription.TURNED_OFF} ${objectType} ${objectName} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.APPEND_SURFACE_LIST) { - if (action.payload && action.payload.item) { - let objectType = - action.payload.item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectName = action.payload.item.name; - - trackAction = { - type: actionType.SURFACE_TURNED_ON, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.item.id, - dataset_id: action.payload.datasetID, - text: `${actionDescription.SURFACE} ${actionDescription.TURNED_ON} ${objectType} ${objectName} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.REMOVE_FROM_SURFACE_LIST) { - if (action.payload && action.payload.item) { - let objectType = - action.payload.item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectName = action.payload.item.name; - - trackAction = { - type: actionType.SURFACE_TURNED_OFF, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: action.payload.item.id, - dataset_id: action.payload.datasetID, - text: `${actionDescription.SURFACE} ${actionDescription.TURNED_OFF} ${objectType} ${objectName} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.SET_ARROW_UP_DOWN) { - let payload = action.payload; - if (payload) { - const proteinList = state.selectionReducers.proteinList; - const complexList = state.selectionReducers.complexList; - const fragmentDisplayList = state.selectionReducers.fragmentDisplayList; - const surfaceList = state.selectionReducers.surfaceList; - const densityList = state.selectionReducers.densityList; - const vectorOnList = state.selectionReducers.vectorOnList; - - let item = payload.item; - let newItem = payload.newItem; - let objectType = - item && item.isCrossReference === true ? actionObjectType.CROSS_REFERENCE : actionObjectType.COMPOUND; - let objectTypeDescription = - item && item.isCrossReference === true ? actionDescription.CROSS_REFERENCE : actionDescription.COMPOUND; - let itemId = item?.id; - let itemName = item?.name; - let newItemName = newItem?.name; - - let data = Object.assign( - { proteinList, complexList, fragmentDisplayList, surfaceList, densityList, vectorOnList }, - payload.data - ); - - trackAction = { - type: actionType.ARROW_NAVIGATION, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: itemName, - object_id: itemId, - datasetID: payload.datasetID, - item: item, - newItem: newItem, - data: data, - arrowType: payload.arrowType, - text: `${objectTypeDescription} ${actionDescription.MOVED} from: ${itemName} to ${newItemName}` - }; - } - } else if (action.type === customDatasetConstants.SET_TAB_VALUE) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.payload.name; - let objectId = action.payload.value; - let oldObjectId = action.payload.oldValue; - let oldObjectName = action.payload.oldName; - - trackAction = { - type: actionType.TAB, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: objectId, - oldObjectId: oldObjectId, - oldObjectName: oldObjectName, - text: `${actionDescription.TAB} ${objectName} ${actionDescription.SELECTED}` - }; - } - } else if (action.type === customDatasetConstants.SET_SELECTED_DATASET_INDEX) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - let objectName = action.payload.name; - let objectId = action.payload.value; - let oldObjectId = action.payload.oldValue; - let oldObjectName = action.payload.oldName; - - trackAction = { - type: actionType.DATASET_INDEX, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: objectName, - object_id: objectId, - oldObjectId: oldObjectId, - oldObjectName: oldObjectName, - text: `${actionDescription.DATASET} ${objectName} ${actionDescription.SELECTED}` - }; - } - } else if (action.type === customDatasetConstants.SET_DATASET_FILTER) { - if (action.payload) { - const { - filterPropertiesDatasetMap: filterProperties, - filterDatasetMap: filterSettings, - dragDropMap - } = state.datasetsReducers; - const { datasetID, key, properties, settings, dragDropState } = action.payload; - - const filterPropertiesOfDataset = (filterProperties[datasetID] = {}); - const filterSettingsOfDataset = (filterSettings[datasetID] = {}); - - const objectType = actionObjectType.COMPOUND; - const descriptionProperties = getFilterKeyChange(filterPropertiesOfDataset[key], properties[key]); - - trackAction = { - type: actionType.DATASET_FILTER, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - oldProperties: filterPropertiesOfDataset, - oldSettings: filterSettingsOfDataset, - newProperties: properties, - newSettings: settings, - datasetID: datasetID, - key: key, - oldDragDropState: dragDropMap[datasetID], - newDragDropState: dragDropState, - text: - key === 'clear' - ? `Filter ${actionDescription.CHANGED} to default values of dataset: ${datasetID}` - : `Filter parameter: ${key} ${actionDescription.CHANGED} ${descriptionProperties} of dataset: ${datasetID}` - }; - } - } else if (action.type === customDatasetConstants.DRAG_DROP_FINISHED) { - const { datasetID, molecule, index } = action.payload; - const { - dragDropMap, - dragDropStatus: { startingDragDropState, startingIndex } - } = state.datasetsReducers; - - trackAction = { - type: actionType.DRAG_DROP_FINISHED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.COMPOUND, - oldDragDropState: startingDragDropState, - newDragDropState: dragDropMap[datasetID], - datasetID, - text: `Position for molecule ${molecule.name} from dataset ${datasetID} changed from ${startingIndex + - 1} to ${index + 1}` - }; - } else if (action.type === customDatasetConstants.SET_FILTER_SHOWED_SCORE_PROPERTIES) { - if (action.payload) { - let objectType = actionObjectType.COMPOUND; - let valueDescription = action.payload.isChecked === true ? actionDescription.VISIBLE : actionDescription.HIDDEN; - - trackAction = { - type: actionType.DATASET_FILTER_SCORE, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: action.payload.scoreName, - isChecked: action.payload.isChecked, - oldScoreList: action.payload.oldScoreList, - newScoreList: action.payload.scoreList, - dataset_id: action.payload.datasetID, - text: `Filter parameter: ${action.payload.scoreName} ${actionDescription.CHANGED} to ${valueDescription} of dataset: ${action.payload.datasetID}` - }; - } - } else if (action.type === customDatasetConstants.SET_SEARCH_STRING) { - let searchString = action.payload.searchString; - let objectType = actionType.SEARCH_STRING; - - trackAction = { - type: actionType.SEARCH_STRING, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - dataset_id: action.payload.datasetID, - searchString: searchString, - text: `Searched string: ${searchString}` - }; - } else if (action.type === moleculeConstants.SET_SEARCH_STRING_HIT_NAVIGATOR) { - let searchStringHitNavigator = action.payload; - let objectType = actionType.SET_SEARCH_STRING_HIT_NAVIGATOR; - - trackAction = { - type: actionType.SEARCH_STRING_HIT_NAVIGATOR, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - // dataset_id: action.payload.datasetID, - searchStringHitNavigator: searchStringHitNavigator, - text: `Searched string in Hit navigator: ${searchStringHitNavigator}` - }; - } else if (action.type === customDatasetConstants.SET_SELECT_ALL_BUTTON_FOR_DATASET) { - let selectAllButton = action.payload; - let objectType = actionType.SELECTED_SELECT_ALL_BUTTON_FOR_DATASET; - - trackAction = { - type: actionType.SELECTED_SELECT_ALL_BUTTON_FOR_DATASET, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - dataset_id: action.payload, - selectAllButton: selectAllButton, - text: `Pressed button ${selectAllButton === true ? 'Select' : 'Unselect'} all` - }; - } else if (action.type === customDatasetConstants.SET_COMPOUND_TO_SELECTED_COMPOUNDS_BY_DATASET) { - if (action.payload) { - let selectedAllDatasetCompounds = action.payload; - let objectType = actionType.SELECT_ALL_DATASET_COMPOUNDS; - - trackAction = { - type: actionType.SELECT_ALL_DATASET_COMPOUNDS, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - dataset_id: action.payload, - selectedAllDatasetCompounds: selectedAllDatasetCompounds, - text: `${selectedAllDatasetCompounds === true ? 'Selected' : 'Unselected'} all dataset compounds` - }; - } - } else if (action.type === selectionConstants.SET_TAG_DETAIL_VIEW) { - let tagDetailView = action.payload; - let objectType = actionType.TAG_DETAIL_VIEW; - let setGridListView = action.payload === true ? actionDescription.GRID_VIEW : actionDescription.LIST_VIEW; - - trackAction = { - type: actionType.TAG_DETAIL_VIEW, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - dataset_id: action.payload, - tagDetailView: tagDetailView, - text: `Selected ${setGridListView} for Tag Detail` - }; - } else if (action.type === nglConstants.UPDATE_COMPONENT_REPRESENTATION_VISIBILITY) { - let objectType = actionObjectType.REPRESENTATION; - let value = action.newVisibility; - let valueDescription = value === true ? actionDescription.VISIBLE : actionDescription.HIDDEN; - - trackAction = { - type: actionType.REPRESENTATION_VISIBILITY_UPDATED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.REPRESENTATION, - object_name: action.objectInViewID, - object_id: action.objectInViewID, - representation_id: action.representationID, - representation: action.representation, - value: value, - text: `${objectType} '${action.representation?.type}' ${actionDescription.VISIBILITY} of ${action.objectInViewID} ${actionDescription.CHANGED} to: ${valueDescription}` - }; - } else if (action.type === nglConstants.UPDATE_COMPONENT_REPRESENTATION_VISIBILITY_ALL) { - let objectType = actionObjectType.REPRESENTATION; - let value = action.newVisibility; - let valueDescription = value === true ? actionDescription.VISIBLE : actionDescription.HIDDEN; - - trackAction = { - type: actionType.REPRESENTATION_VISIBILITY_ALL_UPDATED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.REPRESENTATION, - object_name: action.objectInViewID, - object_id: action.objectInViewID, - value: value, - text: `${objectType} ${actionDescription.VISIBILITY} of ${action.objectInViewID} ${actionDescription.CHANGED} to: ${valueDescription}` - }; - } else if (action.type === nglConstants.UPDATE_COMPONENT_REPRESENTATION) { - let objectType = actionObjectType.REPRESENTATION; - let key = action.change?.key; - let oldValue = action.change?.oldValue; - let newValue = action.change?.value; - let valueDescription = - key !== 'clipCenter' - ? `from value: ${oldValue} to value: ${newValue}` - : getClipCenterChange(oldValue, newValue); - - trackAction = { - type: actionType.REPRESENTATION_UPDATED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.REPRESENTATION, - object_name: action.objectInViewID, - object_id: action.objectInViewID, - representation_id: action.representationID, - representation: action.newRepresentation, - change: action.change, - text: `${objectType} '${key}' of ${action.objectInViewID} ${actionDescription.UPDATED} ${valueDescription}` - }; - } else if (action.type === nglConstants.ADD_COMPONENT_REPRESENTATION) { - let objectType = actionObjectType.REPRESENTATION; - let representationName = action.newRepresentation && action.newRepresentation.type; - - trackAction = { - type: actionType.REPRESENTATION_ADDED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.REPRESENTATION, - object_name: representationName, - object_id: action.objectInViewID, - representation: action.newRepresentation, - text: `${objectType} '${representationName}' of ${action.objectInViewID} ${actionDescription.ADDED}` - }; - } else if (action.type === nglConstants.REMOVE_COMPONENT_REPRESENTATION) { - let objectType = actionObjectType.REPRESENTATION; - let representationName = action.representation && action.representation.type; - - trackAction = { - type: actionType.REPRESENTATION_REMOVED, - annotation: actionAnnotation.CLEAR, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: representationName, - object_id: action.objectInViewID, - representation: action.representation, - text: `${objectType} '${representationName}' of ${action.objectInViewID} ${actionDescription.REMOVED}` - }; - } else if (action.type === nglConstants.CHANGE_COMPONENT_REPRESENTATION) { - let objectType = actionObjectType.REPRESENTATION; - let oldRepresentationName = action.oldRepresentation && action.oldRepresentation.type; - let newRepresentationName = action.newRepresentation && action.newRepresentation.type; - - trackAction = { - type: actionType.REPRESENTATION_CHANGED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: objectType, - object_name: action.objectInViewID, - object_id: action.objectInViewID, - oldRepresentation: action.oldRepresentation, - newRepresentation: action.newRepresentation, - text: `${objectType} of ${action.objectInViewID} ${actionDescription.CHANGED} from value: ${oldRepresentationName} to value: ${newRepresentationName}` - }; - } else if (action.type === nglConstants.SET_BACKGROUND_COLOR) { - let oldSetting = action.payload === BACKGROUND_COLOR.white ? BACKGROUND_COLOR.black : BACKGROUND_COLOR.white; - let newSetting = action.payload; - - trackAction = { - type: actionType.BACKGROUND_COLOR_CHANGED, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: 'NGL', - oldSetting: oldSetting, - newSetting: newSetting, - text: `Color of NGL ${actionDescription.CHANGED} to value: ${newSetting}` - }; - } else if (action.type === nglConstants.SET_CLIP_NEAR) { - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - trackAction = { - type: actionType.CLIP_NEAR, - merge: true, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: 'NGL', - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'Clip near of NGL ' + - actionDescription.CHANGED + - ' from value: ' + - this.oldSetting + - ' to value: ' + - this.newSetting - ); - }, - text: `Clip near of NGL ${actionDescription.CHANGED} to value: ${newSetting}` - }; - } else if (action.type === nglConstants.SET_CLIP_FAR) { - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - trackAction = { - type: actionType.CLIP_FAR, - merge: true, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: 'NGL', - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'Clip far of NGL ' + - actionDescription.CHANGED + - ' from value: ' + - this.oldSetting + - ' to value: ' + - this.newSetting - ); - }, - text: `Clip far of NGL ${actionDescription.CHANGED} to value: ${newSetting}` - }; - } else if (action.type === nglConstants.SET_CLIP_DIST) { - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - trackAction = { - type: actionType.CLIP_DIST, - merge: true, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: 'NGL', - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'Clip dist of NGL ' + - actionDescription.CHANGED + - ' from value: ' + - this.oldSetting + - ' to value: ' + - this.newSetting - ); - }, - text: `Clip dist of NGL ${actionDescription.CHANGED} to value: ${newSetting}` - }; - } else if (action.type === nglConstants.SET_FOG_NEAR) { - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - trackAction = { - type: actionType.FOG_NEAR, - merge: true, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: 'NGL', - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'Fog near of NGL ' + - actionDescription.CHANGED + - ' from value: ' + - this.oldSetting + - ' to value: ' + - this.newSetting - ); - }, - text: `Fog near of NGL ${actionDescription.CHANGED} to value: ${newSetting}` - }; - } else if (action.type === nglConstants.SET_FOG_FAR) { - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - trackAction = { - type: actionType.FOG_FAR, - merge: true, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: 'NGL', - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'Fog far of NGL ' + - actionDescription.CHANGED + - ' from value: ' + - this.oldSetting + - ' to value: ' + - this.newSetting - ); - }, - text: `Fog far of NGL ${actionDescription.CHANGED} to value: ${newSetting}` - }; - } else if ( - action.type === nglConstants.SET_ISO_LEVEL_DENSITY || - action.type === nglConstants.SET_ISO_LEVEL_DENSITY_MAP_diff || - action.type === nglConstants.SET_ISO_LEVEL_DENSITY_MAP_sigmaa - ) { - let objectName = null; - let actionTypeMap = null; - if (action.type === nglConstants.SET_ISO_LEVEL_DENSITY) { - objectName = mapTypesStrings.EVENT; - actionTypeMap = actionType.ISO_LEVEL_EVENT; - } else if (action.type === nglConstants.SET_ISO_LEVEL_DENSITY_MAP_diff) { - objectName = mapTypesStrings.DIFF; - actionTypeMap = actionType.ISO_LEVEL_DIFF; - } else if (action.type === nglConstants.SET_ISO_LEVEL_DENSITY_MAP_sigmaa) { - objectName = mapTypesStrings.SIGMAA; - actionTypeMap = actionType.ISO_LEVEL_SIGMAA; - } - - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - trackAction = { - type: actionTypeMap, - merge: true, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: objectName, - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'ISO of ' + - objectName + - ' ' + - actionDescription.CHANGED + - ' from value: ' + - this.oldSetting + - ' to value: ' + - this.newSetting - ); - }, - text: `ISO of ${objectName} ${actionDescription.CHANGED} to value: ${newSetting}` - }; - } else if ( - action.type === nglConstants.SET_BOX_SIZE_DENSITY || - action.type === nglConstants.SET_BOX_SIZE_DENSITY_MAP_diff || - action.type === nglConstants.SET_BOX_SIZE_DENSITY_MAP_sigmaa - ) { - let objectName = null; - let actionTypeMap = null; - if (action.type === nglConstants.SET_BOX_SIZE_DENSITY) { - objectName = mapTypesStrings.EVENT; - actionTypeMap = actionType.BOX_SIZE_EVENT; - } else if (action.type === nglConstants.SET_BOX_SIZE_DENSITY_MAP_diff) { - objectName = mapTypesStrings.DIFF; - actionTypeMap = actionType.BOX_SIZE_DIFF; - } else if (action.type === nglConstants.SET_BOX_SIZE_DENSITY_MAP_sigmaa) { - objectName = mapTypesStrings.SIGMAA; - actionTypeMap = actionType.BOX_SIZE_SIGMAA; - } - - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - trackAction = { - type: actionTypeMap, - merge: true, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: objectName, - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'Box size of ' + - objectName + - ' ' + - actionDescription.CHANGED + - ' from value: ' + - this.oldSetting + - ' to value: ' + - this.newSetting - ); - }, - text: `Boz size of ${objectName} ${actionDescription.CHANGED} to value: ${newSetting}` - }; - } else if ( - action.type === nglConstants.SET_OPACITY_DENSITY || - action.type === nglConstants.SET_OPACITY_DENSITY_MAP_diff || - action.type === nglConstants.SET_OPACITY_DENSITY_MAP_sigmaa - ) { - let objectName = null; - let actionTypeMap = null; - if (action.type === nglConstants.SET_OPACITY_DENSITY) { - objectName = mapTypesStrings.EVENT; - actionTypeMap = actionType.OPACITY_EVENT; - } else if (action.type === nglConstants.SET_OPACITY_DENSITY_MAP_diff) { - objectName = mapTypesStrings.DIFF; - actionTypeMap = actionType.OPACITY_DIFF; - } else if (action.type === nglConstants.SET_OPACITY_DENSITY_MAP_sigmaa) { - objectName = mapTypesStrings.SIGMAA; - actionTypeMap = actionType.OPACITY_SIGMAA; - } - - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - trackAction = { - type: actionTypeMap, - merge: true, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: objectName, - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'Opacity of ' + - objectName + - ' ' + - actionDescription.CHANGED + - ' from value: ' + - this.oldSetting + - ' to value: ' + - this.newSetting - ); - }, - text: `Opacity of NGL ${actionDescription.CHANGED} to value: ${newSetting}` - }; - } else if ( - action.type === nglConstants.SET_CONTOUR_DENSITY || - action.type === nglConstants.SET_CONTOUR_DENSITY_MAP_diff || - action.type === nglConstants.SET_CONTOUR_DENSITY_MAP_sigmaa - ) { - let objectName = null; - let actionTypeMap = null; - if (action.type === nglConstants.SET_CONTOUR_DENSITY) { - objectName = mapTypesStrings.EVENT; - actionTypeMap = actionType.CONTOUR_EVENT; - } else if (action.type === nglConstants.SET_CONTOUR_DENSITY_MAP_diff) { - objectName = mapTypesStrings.DIFF; - actionTypeMap = actionType.CONTOUR_DIFF; - } else if (action.type === nglConstants.SET_CONTOUR_DENSITY_MAP_sigmaa) { - objectName = mapTypesStrings.SIGMAA; - actionTypeMap = actionType.CONTOUR_SIGMAA; - } - - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - let oldSettingDescription = getContourChangeDescription(oldSetting); - let newSettingDescription = getContourChangeDescription(newSetting); - - trackAction = { - type: actionTypeMap, - merge: false, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: objectName, - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'Surface/wireframe of ' + - objectName + - ' ' + - actionDescription.CHANGED + - ' from value: ' + - oldSettingDescription + - ' to value: ' + - newSettingDescription - ); - }, - text: `Surface/wireframe of ${objectName} ${actionDescription.CHANGED} to value: ${newSettingDescription}` - }; - } else if ( - action.type === nglConstants.SET_ELECTRON_COLOR_DENSITY || - action.type === nglConstants.SET_ELECTRON_COLOR_DENSITY_MAP_sigmaa || - action.type === nglConstants.SET_ELECTRON_COLOR__DENSITY_MAP_diff - ) { - let objectName = null; - let actionTypeMap = null; - if (action.type === nglConstants.SET_ELECTRON_COLOR_DENSITY) { - objectName = mapTypesStrings.EVENT; - actionTypeMap = actionType.COLOR_EVENT; - } else if (action.type === nglConstants.SET_ELECTRON_COLOR_DENSITY_MAP_sigmaa) { - objectName = mapTypesStrings.DIFF; - actionTypeMap = actionType.COLOR_SIGMAA; - } else if (action.type === nglConstants.SET_ELECTRON_COLOR__DENSITY_MAP_diff) { - objectName = mapTypesStrings.SIGMAA; - actionTypeMap = actionType.COLOR_DIFF; - } - - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - trackAction = { - type: actionTypeMap, - merge: false, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: objectName, - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'Color of ' + - objectName + - ' ' + - actionDescription.CHANGED + - ' from color: ' + - this.oldSetting + - ' to color: ' + - this.newSetting - ); - }, - text: `Color of ${objectName} ${actionDescription.CHANGED} to value: ${newSetting}` - }; - } else if (action.type === nglConstants.SET_WARNING_ICON) { - let oldSetting = action.payload.oldValue; - let newSetting = action.payload.newValue; - - trackAction = { - type: actionType.WARNING_ICON, - merge: true, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username: username, - object_type: 'NGL', - object_name: 'NGL', - oldSetting: oldSetting, - newSetting: newSetting, - getText: function() { - return ( - 'Warning icon showing ' + (newSetting === true ? actionDescription.TURNED_ON : actionDescription.TURNED_OFF) - ); - }, - text: `Warning icon showing ${newSetting === true ? actionDescription.TURNED_ON : actionDescription.TURNED_OFF}` - }; - } else if (action.type === viewerControlsConstants.TURN_SIDE) { - if (action.payload) { - const { side, open } = action.payload; - - const openDescription = open ? actionDescription.TURNED_ON : actionDescription.TURNED_OFF; - - trackAction = { - type: actionType.TURN_SIDE, - annotation: actionAnnotation.CHECK, - timestamp: Date.now(), - username, - side, - open, - text: `${viewerControlsSides[side]} ${openDescription}` - }; - } - } - } - return trackAction; -}; - -const getMoleculeTitle = (objectName, targetName) => { - let title = objectName.replace(new RegExp(`${targetName}-`, 'i'), ''); - return title; -}; - -const getMolGroupName = (molGroupId, state) => { - let molGroupList = state.apiReducers.mol_group_list; - let molGroup = molGroupList.find(group => group.id === molGroupId); - let molGroupName = (molGroup && molGroup.description) || ''; - return molGroupName; -}; - -const getTargetName = (targetId, state) => { - let targetList = state.apiReducers.target_id_list; - let target = targetList.find(target => target.id === targetId); - let targetName = (target && target.title) || ''; - return targetName; -}; - -const getMoleculeName = (moleculeId, state) => { - const moleculeList = state.apiReducers.all_mol_lists; - const molecule = moleculeList.find(molecule => molecule.id === moleculeId); - return molecule?.code ?? ''; -}; - -const getTypeDescriptionOfSelectedAllAction = type => { - switch (type) { - case 'ligand': - return actionDescription.LIGANDS; - case 'protein': - return actionDescription.SIDECHAINS; - case 'complex': - return actionDescription.INTERACTIONS; - default: - return type; - } -}; - -const getClipCenterChange = (oldValue, newValue) => { - let description = ''; - if (oldValue && newValue) { - if (oldValue.x !== newValue.x) { - description += ' from value: x:' + oldValue.x + ' to value: x:' + newValue.x; - } - if (oldValue.y !== newValue.y) { - description += ' from value: y:' + oldValue.y + ' to value: y:' + newValue.y; - } - if (oldValue.z !== newValue.z) { - description += ' from value: z:' + oldValue.z + ' to value: z:' + newValue.z; - } - } - return description; -}; - -const getFilterKeyChange = (oldValue, newValue) => { - let description = ''; - if (oldValue && newValue) { - if (oldValue.order !== newValue.order) { - description += - ' from value: order: ' + - getOrderDescription(oldValue.order) + - ' to value: order: ' + - getOrderDescription(newValue.order); - return description; - } else if (oldValue.newPrio !== newValue.newPrio) { - description += - ' from value: priority: ' + (newValue.oldPrio + 1) + ' to value: priority: ' + (newValue.newPrio + 1); - return description; - } else { - if (oldValue.isBoolean === true) { - if (oldValue.minValue !== newValue.minValue) { - return ( - ' from value: ' + - getBooleanDescription(oldValue.minValue) + - ' to value: ' + - getBooleanDescription(newValue.minValue) - ); - } else if (oldValue.maxValue !== newValue.maxValue) { - return ( - ' from value: ' + - getBooleanDescription(oldValue.maxValue) + - ' to value: ' + - getBooleanDescription(newValue.maxValue) - ); - } else { - return ' to value: ignore'; - } - } else { - if (oldValue.minValue !== newValue.minValue) { - return ' from value: ' + oldValue.minValue + ' to value: ' + newValue.minValue; - } else if (oldValue.maxValue !== newValue.maxValue) { - return ' from value: max: ' + oldValue.maxValue + ' to value: max: ' + newValue.maxValue; - } - } - } - } - return description; -}; - -const getOrderDescription = order => { - let description = ''; - if (order === 1) { - return 'up'; - } - - if (order === -1) { - return 'down'; - } - - if (order === 0) { - return 'ignore'; - } - return description; -}; - -const getBooleanDescription = value => { - let description = ''; - if (value === 1) { - return 'false'; - } - - if (value === 50) { - return 'ignore'; - } - - if (value === 100) { - return 'true'; - } - return description; -}; - -const getContourChangeDescription = value => { - if (value === true) { - return 'wireframe'; - } else if (value === false) { - return 'surface'; - } else { - return ''; - } -}; - -export const createInitAction = target_on => (dispatch, getState) => { - const state = getState(); - const username = DJANGO_CONTEXT['username']; - - if (target_on) { - let targetName = getTargetName(target_on, state); - let trackAction = { - type: actionType.TARGET_LOADED, - timestamp: Date.now(), - username: username, - object_type: actionObjectType.TARGET, - object_name: targetName, - object_id: target_on, - text: `${actionDescription.TARGET} ${targetName} ${actionDescription.LOADED}` - }; - - return trackAction; - } -}; diff --git a/js/reducers/tracking/trackingMiddleware.js b/js/reducers/tracking/trackingMiddleware.js deleted file mode 100644 index 8508793dd..000000000 --- a/js/reducers/tracking/trackingMiddleware.js +++ /dev/null @@ -1,29 +0,0 @@ -import { appendAndSendTrackingActions } from './dispatchActions'; -import { constants } from './constants'; -import { findTrackAction } from './trackingActions'; -import { setIsSnapshotDirty } from './actions'; - -const trackingMiddleware = ({ dispatch, getState }) => next => action => { - //console.log(`Redux Log:`, action); - - if (action) { - const state = getState(); - if (action && action.type && !action.type.includes(constants.APPEND_ACTIONS_LIST)) { - let trackAction = dispatch(findTrackAction(action, state)); - if (trackAction && trackAction != null && Object.keys(trackAction).length > 0) { - const isSnapshotDirty = state.trackingReducers.isSnapshotDirty; - const snapshotLoadingInProgress = state.apiReducers.snapshotLoadingInProgress; - if (!isSnapshotDirty && !snapshotLoadingInProgress) { - dispatch(setIsSnapshotDirty(true)); - } - dispatch(appendAndSendTrackingActions(trackAction)); - } else if (trackAction && trackAction != null && Object.keys(trackAction).length === 0) { - console.error(`Track action is empty for action: ${JSON.stringify(action)}`); - } - } - - next(action); - } -}; - -export default trackingMiddleware; diff --git a/js/reducers/tracking/trackingReducers.js b/js/reducers/tracking/trackingReducers.js deleted file mode 100644 index c7eebdd86..000000000 --- a/js/reducers/tracking/trackingReducers.js +++ /dev/null @@ -1,149 +0,0 @@ -import { constants } from './constants'; -import { undoable } from '../../undoredo/reducer'; -import { includeAction } from '../../undoredo/helpers'; - -export const INITIAL_STATE = { - track_actions_list: [], - undo_redo_actions_list: [], - current_actions_list: [], - isTrackingMoleculesRestoring: false, - isTrackingCompoundsRestoring: false, - isUndoRedoAction: false, - isActionsSending: false, - isActionsLoading: false, - isActionSaving: false, - send_actions_list: [], - project_actions_list: [], - snapshotActionImageList: [], - isActionRestoring: false, - isActionRestored: false, - isActionTracking: false, - trackingImageSource: '', - isProjectActionListLoaded: false, - skipOrientationChange: false, - isSnapshotDirty: false, - areSnapshotActionsDownloaded: false -}; - -export function trackingReducers(state = INITIAL_STATE, action = {}) { - switch (action.type) { - case constants.SET_ACTIONS_LIST: - return Object.assign({}, state, { - track_actions_list: action.track_actions_list - }); - - case constants.SET_SNAPSHOT_ACTIONS_DOWNLOADED: { - return { - ...state, - areSnapshotActionsDownloaded: action.isDownloaded - }; - } - - case constants.APPEND_ACTIONS_LIST: - return Object.assign({}, state, { - track_actions_list: [...new Set([...state.track_actions_list, action.track_action])] - }); - - case constants.APPEND_UNDO_REDO_ACTIONS_LIST: - return Object.assign({}, state, { - undo_redo_actions_list: [...new Set([...state.undo_redo_actions_list, action.track_action])] - }); - - case constants.SET_UNDO_REDO_ACTIONS_LIST: - return { - ...state, - undo_redo_actions_list: action.undo_redo_actions_list - }; - - case constants.SET_CURRENT_ACTIONS_LIST: - return Object.assign({}, state, { - current_actions_list: [...action.current_actions_list] - }); - - case constants.SET_IS_TRACKING_MOLECULES_RESTORING: - return Object.assign({}, state, { - isTrackingMoleculesRestoring: action.isTrackingMoleculesRestoring - }); - - case constants.SET_IS_TRACKING_COMPOUNDS_RESTORING: - return Object.assign({}, state, { - isTrackingCompoundsRestoring: action.isTrackingCompoundsRestoring - }); - - case constants.SET_IS_UNDO_REDO_ACTION: - return Object.assign({}, state, { - isUndoRedoAction: action.isUndoRedoAction - }); - - case constants.SET_IS_ACTIONS_SENDING: - return Object.assign({}, state, { - isActionsSending: action.isActionsSending - }); - - case constants.SET_IS_ACTIONS_LOADING: - return Object.assign({}, state, { - isActionsLoading: action.isActionsLoading - }); - - case constants.SET_SEND_ACTIONS_LIST: - return Object.assign({}, state, { - send_actions_list: [...action.send_actions_list] - }); - - case constants.APPEND_SEND_ACTIONS_LIST: - return Object.assign({}, state, { - send_actions_list: [...new Set([...state.send_actions_list, action.track_action])] - }); - - case constants.SET_PROJECT_ACTIONS_LIST: - return Object.assign({}, state, { - project_actions_list: action.project_actions_list - }); - - case constants.SET_SNAPSOT_IMAGE_ACTIONS_LIST: - return Object.assign({}, state, { - snapshotActionImageList: action.snapshotActionImageList - }); - - case constants.SET_IS_ACTIONS_SAVING: - return Object.assign({}, state, { - isActionSaving: action.isActionSaving - }); - - case constants.SET_IS_ACTIONS_RESTORING: - return Object.assign({}, state, { - isActionRestoring: action.isActionRestoring, - isActionRestored: action.isActionRestored - }); - - case constants.SET_PROJECT_ACTIONS_LIST_LOADED: - return { ...state, isProjectActionListLoaded: action.isLoaded }; - - case constants.SET_IS_ACTION_TRACKING: - return Object.assign({}, state, { - isActionTracking: action.isActionTracking - }); - - case constants.SET_TRACKING_IMAGE_SOURCE: - return Object.assign({}, state, { - trackingImageSource: action.payload - }); - - case constants.SET_SKIP_ORIENTATION_CHANGE: - return { ...state, skipOrientationChange: action.skipOrientationChange }; - - case constants.SET_IS_SNAPSHOT_DIRTY: - return { ...state, isSnapshotDirty: action.isSnapshotDirty }; - - case constants.RESET_TRACKING_STATE: - return INITIAL_STATE; - - default: - return state; - } -} - -export const undoableTrackingReducers = undoable(trackingReducers, { - limit: false, - filter: includeAction(constants.SET_UNDO_REDO_ACTIONS_LIST) -}); diff --git a/js/reducers/tracking/utils.js b/js/reducers/tracking/utils.js deleted file mode 100644 index 71f70cbf3..000000000 --- a/js/reducers/tracking/utils.js +++ /dev/null @@ -1,26 +0,0 @@ -import { actionType } from './constants'; - -export const getQualityOffActions = (orderedActionList, currentActionList) => (dispatch, getState) => { - const state = getState(); - const ligandsOn = state.selectionReducers.fragmentDisplayList; - const qualitiesOn = state.selectionReducers.qualityList; - - const qualitiesToTurnOff = getDifference(ligandsOn, qualitiesOn); - const actionList = orderedActionList.filter(action => action.type === actionType.QUALITY_TURNED_OFF); - - qualitiesToTurnOff.forEach(molId => { - const action = actionList.find(action => action.object_id === molId); - - if (action) { - currentActionList.push({ ...action }); - } - }); -}; - -/** - * The goal of this method is to compare two arrays of primitive values and return the difference. - */ -export const getDifference = (array1, array2) => { - const result = array1.filter(x => !array2.includes(x)); - return result; -}; diff --git a/js/undoredo/actions.js b/js/undoredo/actions.js deleted file mode 100644 index 33834025b..000000000 --- a/js/undoredo/actions.js +++ /dev/null @@ -1,33 +0,0 @@ -export const ActionTypes = { - UNDO: '@@redux-undo/UNDO', - REDO: '@@redux-undo/REDO', - JUMP_TO_FUTURE: '@@redux-undo/JUMP_TO_FUTURE', - JUMP_TO_PAST: '@@redux-undo/JUMP_TO_PAST', - JUMP: '@@redux-undo/JUMP', - CLEAR_HISTORY: '@@redux-undo/CLEAR_HISTORY', - REMOVE_LAST_PAST: '@@redux-undo/REMOVE_LAST_PAST' -} - -export const ActionCreators = { - undo () { - return { type: ActionTypes.UNDO } - }, - redo () { - return { type: ActionTypes.REDO } - }, - jumpToFuture (index) { - return { type: ActionTypes.JUMP_TO_FUTURE, index } - }, - jumpToPast (index) { - return { type: ActionTypes.JUMP_TO_PAST, index } - }, - jump (index) { - return { type: ActionTypes.JUMP, index } - }, - clearHistory () { - return { type: ActionTypes.CLEAR_HISTORY } - }, - removeLastPast() { - return {type: ActionTypes.REMOVE_LAST_PAST} - } -} diff --git a/js/undoredo/debug.js b/js/undoredo/debug.js deleted file mode 100644 index 739806dee..000000000 --- a/js/undoredo/debug.js +++ /dev/null @@ -1,90 +0,0 @@ -let __DEBUG__ -let displayBuffer - -const colors = { - prevState: '#9E9E9E', - action: '#03A9F4', - nextState: '#4CAF50' -} - -/* istanbul ignore next: debug messaging is not tested */ -function initBuffer () { - displayBuffer = { - header: [], - prev: [], - action: [], - next: [], - msgs: [] - } -} - -/* istanbul ignore next: debug messaging is not tested */ -function printBuffer () { - const { header, prev, next, action, msgs } = displayBuffer - if (console.group) { - console.groupCollapsed(...header) - console.log(...prev) - console.log(...action) - console.log(...next) - console.log(...msgs) - console.groupEnd() - } else { - console.log(...header) - console.log(...prev) - console.log(...action) - console.log(...next) - console.log(...msgs) - } -} - -/* istanbul ignore next: debug messaging is not tested */ -function colorFormat (text, color, obj) { - return [ - `%c${text}`, - `color: ${color}; font-weight: bold`, - obj - ] -} - -/* istanbul ignore next: debug messaging is not tested */ -function start (action, state) { - initBuffer() - if (__DEBUG__) { - if (console.group) { - displayBuffer.header = ['%credux-undo', 'font-style: italic', 'action', action.type] - displayBuffer.action = colorFormat('action', colors.action, action) - displayBuffer.prev = colorFormat('prev history', colors.prevState, state) - } else { - displayBuffer.header = ['redux-undo action', action.type] - displayBuffer.action = ['action', action] - displayBuffer.prev = ['prev history', state] - } - } -} - -/* istanbul ignore next: debug messaging is not tested */ -function end (nextState) { - if (__DEBUG__) { - if (console.group) { - displayBuffer.next = colorFormat('next history', colors.nextState, nextState) - } else { - displayBuffer.next = ['next history', nextState] - } - printBuffer() - } -} - -/* istanbul ignore next: debug messaging is not tested */ -function log (...args) { - if (__DEBUG__) { - displayBuffer.msgs = displayBuffer.msgs - .concat([...args, '\n']) - } -} - -/* istanbul ignore next: debug messaging is not tested */ -function set (debug) { - __DEBUG__ = debug -} - -export { set, start, end, log } diff --git a/js/undoredo/helpers.js b/js/undoredo/helpers.js deleted file mode 100644 index a8a9532f3..000000000 --- a/js/undoredo/helpers.js +++ /dev/null @@ -1,57 +0,0 @@ -// parseActions helper: takes a string (or array) -// and makes it an array if it isn't yet -export function parseActions (rawActions, defaultValue = []) { - if (Array.isArray(rawActions)) { - return rawActions - } else if (typeof rawActions === 'string') { - return [rawActions] - } - return defaultValue -} - -// isHistory helper: check for a valid history object -export function isHistory (history) { - return typeof history.present !== 'undefined' && - typeof history.future !== 'undefined' && - typeof history.past !== 'undefined' && - Array.isArray(history.future) && - Array.isArray(history.past) -} - -// includeAction helper: whitelist actions to be added to the history -export function includeAction (rawActions) { - const actions = parseActions(rawActions) - return (action) => actions.indexOf(action.type) >= 0 -} - -// excludeAction helper: blacklist actions from being added to the history -export function excludeAction (rawActions) { - const actions = parseActions(rawActions) - return (action) => actions.indexOf(action.type) < 0 -} - -// combineFilters helper: combine multiple filters to one -export function combineFilters (...filters) { - return filters.reduce((prev, curr) => - (action, currentState, previousHistory) => - prev(action, currentState, previousHistory) && - curr(action, currentState, previousHistory) - , () => true) -} - -export function groupByActionTypes (rawActions) { - const actions = parseActions(rawActions) - return (action) => actions.indexOf(action.type) >= 0 ? action.type : null -} - -export function newHistory (past, present, future, group = null) { - return { - past, - present, - future, - group, - _latestUnfiltered: present, - index: past.length, - limit: past.length + future.length + 1 - } -} diff --git a/js/undoredo/index.js b/js/undoredo/index.js deleted file mode 100644 index a62f460ce..000000000 --- a/js/undoredo/index.js +++ /dev/null @@ -1,8 +0,0 @@ -export { ActionTypes, ActionCreators } from './actions' -export { - parseActions, isHistory, - includeAction, excludeAction, - combineFilters, groupByActionTypes, newHistory -} from './helpers' - -export { default } from './reducer' diff --git a/js/undoredo/reducer.js b/js/undoredo/reducer.js deleted file mode 100644 index 8e1da2517..000000000 --- a/js/undoredo/reducer.js +++ /dev/null @@ -1,274 +0,0 @@ -import * as debug from './debug' -import { ActionTypes } from './actions' -import { parseActions, isHistory, newHistory } from './helpers' - -// createHistory -function createHistory (state, ignoreInitialState) { - // ignoreInitialState essentially prevents the user from undoing to the - // beginning, in the case that the undoable reducer handles initialization - // in a way that can't be redone simply - const history = newHistory([], state, []) - if (ignoreInitialState) { - history._latestUnfiltered = null - } - return history -} - -function removeLastPast(history) { - const { past, present, future } = history; - - const newPast = [...past]; - newPast.pop(); - - return newHistory(newPast, present, future) -} - -// insert: insert `state` into history, which means adding the current state -// into `past`, setting the new `state` as `present` and erasing -// the `future`. -function insert (history, state, limit, group) { - const lengthWithoutFuture = history.past.length + 1 - - debug.log('inserting', state) - debug.log('new free: ', limit - lengthWithoutFuture) - - const { past, _latestUnfiltered } = history - const isHistoryOverflow = limit && limit <= lengthWithoutFuture - - const pastSliced = past.slice(isHistoryOverflow ? 1 : 0) - const newPast = _latestUnfiltered != null - ? [ - ...pastSliced, - _latestUnfiltered - ] : pastSliced - - return newHistory(newPast, state, [], group) -} - -// jumpToFuture: jump to requested index in future history -function jumpToFuture (history, index) { - if (index < 0 || index >= history.future.length) return history - - const { past, future, _latestUnfiltered } = history - - const newPast = [...past, _latestUnfiltered, ...future.slice(0, index)] - const newPresent = future[index] - const newFuture = future.slice(index + 1) - - return newHistory(newPast, newPresent, newFuture) -} - -// jumpToPast: jump to requested index in past history -function jumpToPast (history, index) { - if (index < 0 || index >= history.past.length) return history - - const { past, future, _latestUnfiltered } = history - - const newPast = past.slice(0, index) - const newFuture = [...past.slice(index + 1), _latestUnfiltered, ...future] - const newPresent = past[index] - - return newHistory(newPast, newPresent, newFuture) -} - -// jump: jump n steps in the past or forward -function jump (history, n) { - if (n > 0) return jumpToFuture(history, n - 1) - if (n < 0) return jumpToPast(history, history.past.length + n) - return history -} - -// helper to dynamically match in the reducer's switch-case -function actionTypeAmongClearHistoryType (actionType, clearHistoryType) { - return clearHistoryType.indexOf(actionType) > -1 ? actionType : !actionType -} - -// redux-undo higher order reducer -export function undoable (reducer, rawConfig = {}) { - debug.set(rawConfig.debug) - - const config = { - limit: undefined, - filter: () => true, - groupBy: () => null, - undoType: ActionTypes.UNDO, - redoType: ActionTypes.REDO, - jumpToPastType: ActionTypes.JUMP_TO_PAST, - jumpToFutureType: ActionTypes.JUMP_TO_FUTURE, - jumpType: ActionTypes.JUMP, - removeLastPast: ActionTypes.REMOVE_LAST_PAST, - neverSkipReducer: false, - ignoreInitialState: false, - syncFilter: false, - - ...rawConfig, - - initTypes: parseActions(rawConfig.initTypes, ['@@redux-undo/INIT']), - clearHistoryType: parseActions( - rawConfig.clearHistoryType, - [ActionTypes.CLEAR_HISTORY] - ) - } - - // Allows the user to call the reducer with redux-undo specific actions - const skipReducer = config.neverSkipReducer - ? (res, action, ...slices) => ({ - ...res, - present: reducer(res.present, action, ...slices) - }) - : (res) => res - - let initialState - return (state = initialState, action = {}, ...slices) => { - debug.start(action, state) - - let history = state - if (!initialState) { - debug.log('history is uninitialized') - - if (state === undefined) { - const createHistoryAction = { type: '@@redux-undo/CREATE_HISTORY' } - const start = reducer(state, createHistoryAction, ...slices) - - history = createHistory( - start, - config.ignoreInitialState - ) - - debug.log('do not set initialState on probe actions') - debug.end(history) - return history - } else if (isHistory(state)) { - history = initialState = config.ignoreInitialState - ? state : newHistory( - state.past, - state.present, - state.future - ) - debug.log( - 'initialHistory initialized: initialState is a history', - initialState - ) - } else { - history = initialState = createHistory( - state, - config.ignoreInitialState - ) - debug.log( - 'initialHistory initialized: initialState is not a history', - initialState - ) - } - } - - let res - switch (action.type) { - case undefined: - return history - - case config.undoType: - res = jump(history, -1) - debug.log('perform undo') - debug.end(res) - return skipReducer(res, action, ...slices) - - case config.redoType: - res = jump(history, 1) - debug.log('perform redo') - debug.end(res) - return skipReducer(res, action, ...slices) - - case config.jumpToPastType: - res = jumpToPast(history, action.index) - debug.log(`perform jumpToPast to ${action.index}`) - debug.end(res) - return skipReducer(res, action, ...slices) - - case config.jumpToFutureType: - res = jumpToFuture(history, action.index) - debug.log(`perform jumpToFuture to ${action.index}`) - debug.end(res) - return skipReducer(res, action, ...slices) - - case config.jumpType: - res = jump(history, action.index) - debug.log(`perform jump to ${action.index}`) - debug.end(res) - return skipReducer(res, action, ...slices) - - case config.removeLastPast: - res = removeLastPast(history); - return skipReducer(res, action, ...slices); - - case actionTypeAmongClearHistoryType(action.type, config.clearHistoryType): - res = createHistory(history.present, config.ignoreInitialState) - debug.log('perform clearHistory') - debug.end(res) - return skipReducer(res, action, ...slices) - - default: - res = reducer( - history.present, - action, - ...slices - ) - - if (config.initTypes.some((actionType) => actionType === action.type)) { - debug.log('reset history due to init action') - debug.end(initialState) - return initialState - } - - if (history._latestUnfiltered === res) { - // Don't handle this action. Do not call debug.end here, - // because this action should not produce side effects to the console - return history - } - - /* eslint-disable-next-line no-case-declarations */ - const filtered = typeof config.filter === 'function' && !config.filter( - action, - res, - history - ) - - if (filtered) { - // if filtering an action, merely update the present - const filteredState = newHistory( - history.past, - res, - history.future, - history.group - ) - if (!config.syncFilter) { - filteredState._latestUnfiltered = history._latestUnfiltered - } - debug.log('filter ignored action, not storing it in past') - debug.end(filteredState) - return filteredState - } - - /* eslint-disable-next-line no-case-declarations */ - const group = config.groupBy(action, res, history) - if (group != null && group === history.group) { - // if grouping with the previous action, only update the present - const groupedState = newHistory( - history.past, - res, - history.future, - history.group - ) - debug.log('groupBy grouped the action with the previous action') - debug.end(groupedState) - return groupedState - } - - // If the action wasn't filtered or grouped, insert normally - history = insert(history, res, config.limit, group) - - debug.log('inserted new state into history') - debug.end(history) - return history - } - } -} diff --git a/js/utils/genericDispatchActions.js b/js/utils/genericDispatchActions.js new file mode 100644 index 000000000..128ed0fd6 --- /dev/null +++ b/js/utils/genericDispatchActions.js @@ -0,0 +1,5 @@ +export const getCompoundById = (id, datasetId) => (dispatch, getState) => { + const state = getState(); + const datasetCmps = state.datasetsReducers.moleculeLists[datasetId]; + return datasetCmps?.find(cmp => cmp.id === id); +}; diff --git a/js/utils/objectUtils.js b/js/utils/objectUtils.js new file mode 100644 index 000000000..566b17a1f --- /dev/null +++ b/js/utils/objectUtils.js @@ -0,0 +1,142 @@ +import { deepMerge } from './merge'; + +export const setDeepValue = (obj, path, value) => { + const keys = path.split('.'); + const lastKey = keys.pop(); + const lastObj = keys.reduce((obj, key) => (obj[key] = obj[key] || {}), obj); + lastObj[lastKey] = value; +}; + +export const getDeepValue = (obj, path) => { + return path.split('.').reduce((obj, key) => obj[key], obj); +}; + +export const deepMergeOjects = (a, b) => { + return deepMerge(a, b); +}; + +//returns deep value but path is preserved in resulting object shape +export const getDeepValueWithKeys = (obj, path) => { + const keys = path.split('.'); + return keys.reduce((obj, key) => ({ [key]: obj[key] }), obj); +}; + +//but this is specific for snapshot so it's not quite universal - at least I think so +export const deepMergeWithPriority = (a, b) => { + const merge = (a, b) => { + const keys = Object.keys(b); + keys.forEach(key => { + if (a[key] && typeof a[key] === 'object' && b[key] && typeof b[key] === 'object') { + if (Array.isArray(a[key]) && Array.isArray(b[key])) { + // a[key] = [...a[key], ...b[key]]; + a[key] = [...b[key]]; + } else { + // a[key] = deepMerge(a[key], b[key]); + if (Object.keys(b[key]).length === 0) { + a[key] = b[key]; + } else { + a[key] = merge(a[key], b[key]); + } + } + } else { + a[key] = b[key]; + } + }); + return a; + }; + + return merge({ ...a }, b); +}; + +export const deepClone = obj => { + return JSON.parse(JSON.stringify(obj)); +}; + +export const deepMergeWithPriorityAndBlackList = (a, b, blackList) => { + const isWholePathPresentIntoBlackList = (path, blackList) => { + let partOfBlackList = blackList; + for (let i = 0; i < path.length; i++) { + const pathToCheck = path[i]; + if (partOfBlackList[pathToCheck]) { + partOfBlackList = partOfBlackList[pathToCheck]; + if (i === path.length - 1 && Object.keys(partOfBlackList).length > 0) { + // console.log(`isWholePathPresentIntoBlackList - path: ${JSON.stringify(path)} - false - not entire path`); + return false; + } + } else { + // console.log(`isWholePathPresentIntoBlackList - path: ${JSON.stringify(path)} - false`); + return false; + } + } + // console.log(`isWholePathPresentIntoBlackList - path: ${JSON.stringify(path)} - true`); + return true; + }; + const merge = (a, b, path) => { + const keys = Object.keys(b); + + keys.forEach(key => { + const currentPath = [...path, key]; + if (!isWholePathPresentIntoBlackList(currentPath, blackList)) { + if (a[key] && typeof a[key] === 'object' && b[key] && typeof b[key] === 'object') { + if ( + Array.isArray(a[key]) && + Array.isArray(b[key]) && + !isWholePathPresentIntoBlackList(currentPath, blackList) + ) { + a[key] = [...b[key]]; + } else { + if (Object.keys(b[key]).length === 0 && !isWholePathPresentIntoBlackList(currentPath, blackList)) { + a[key] = b[key]; + } else { + a[key] = merge(a[key], b[key], currentPath); + } + } + } else { + if (!isWholePathPresentIntoBlackList(currentPath, blackList)) { + a[key] = b[key]; + } + } + } + }); + + // currentPath.pop(); + return a; + }; + + return merge({ ...a }, b, []); +}; + +export const deepEqual = (obj1, obj2, path = '') => { + if (obj1 === obj2) return true; + + if (typeof obj1 !== 'object' || typeof obj2 !== 'object' || obj1 === null || obj2 === null) { + console.log(`deepEqual - Mismatch found at ${path || 'root'}: ${obj1} !== ${obj2}`); + return false; + } + + if (Array.isArray(obj1) !== Array.isArray(obj2)) { + console.log(`deepEqual - Type mismatch at ${path || 'root'}: One is array, the other is not`); + return false; + } + + const keys1 = Object.keys(obj1); + const keys2 = Object.keys(obj2); + + if (keys1.length !== keys2.length) { + console.log(`deepEqual - Key length mismatch at ${path || 'root'}: ${keys1.length} !== ${keys2.length}`); + return false; + } + + for (const key of keys1) { + const newPath = path ? `${path}.${key}` : key; + if (!keys2.includes(key)) { + console.log(`deepEqual - Key missing in second object at ${newPath}`); + return false; + } + if (!deepEqual(obj1[key], obj2[key], newPath)) { + return false; + } + } + + return true; +};