From dcbf1b2f28c9023f85fa8d4c2096f790ed9541d7 Mon Sep 17 00:00:00 2001 From: Ralf Meyer Date: Mon, 22 Apr 2024 16:09:51 -0400 Subject: [PATCH 1/9] Add permutational kernel --- molSimplify/ml/kernels.py | 71 +++++++++++++++++++++++++++++++++++++++ tests/ml/test_kernels.py | 51 +++++++++++++++++++++++++++- 2 files changed, 121 insertions(+), 1 deletion(-) diff --git a/molSimplify/ml/kernels.py b/molSimplify/ml/kernels.py index a6d83a5a..145b50c6 100644 --- a/molSimplify/ml/kernels.py +++ b/molSimplify/ml/kernels.py @@ -1,3 +1,4 @@ +import numpy as np from sklearn.gaussian_process.kernels import Kernel @@ -34,3 +35,73 @@ def __repr__(self): def is_stationary(self): """Returns whether the kernel is stationary.""" return self.kernel.is_stationary() + + +class PermutationalKernel(Kernel): + def __init__(self, shape, permutations, kernel): + self.shape = shape + self.permutations = permutations + self.kernel = kernel + + @property + def theta(self): + return self.kernel.theta + + @theta.setter + def theta(self, theta): + self.kernel.theta = theta + + @property + def bounds(self): + return self.kernel.bounds + + def __call__(self, X, Y=None, eval_gradient=False): + n = X.shape[0] + n_perms = len(self.permutations) + + # The main idea of this implementation is to vectorize the double loop over the + # permutations. This is done by building a new X array that includes all possible + # permutations of the input features. The kernel is then evaluated on this reshaped + # array and the result is averaged over the permutations. + X_reshaped = X.reshape(-1, *self.shape) + X_permuted = np.stack( + [X_reshaped[:, perm].reshape(X.shape) for perm in self.permutations], + axis=1 + ).reshape(n*n_perms, -1) + + if eval_gradient: + if Y is not None: + raise ValueError("Gradient can only be evaluated when Y is None.") + + K, K_grad = self.kernel(X_permuted, eval_gradient=True) + # Reshape and average over the permutations + return ( + K.reshape(n, n_perms, n, n_perms).sum(axis=(1, 3)) / n_perms**2, + K_grad.reshape(n, n_perms, n, n_perms, -1).sum(axis=(1, 3)) + / n_perms**2, + ) + + if Y is None: + # Reshape and average over the permutations + return self.kernel(X_permuted).reshape(n, n_perms, n, n_perms).sum(axis=(1, 3)) / n_perms ** 2 + + m = Y.shape[0] + Y_reshaped = Y.reshape(-1, *self.shape) + Y_permuted = np.stack( + [Y_reshaped[:, perm].reshape(Y.shape) for perm in self.permutations], + axis=1 + ).reshape(m*n_perms, -1) + # Reshape and average over the permutations + return self.kernel(X_permuted, Y_permuted).reshape(n, n_perms, m, n_perms).sum(axis=(1, 3)) / n_perms ** 2 + + def diag(self, X): + # TODO: More efficient implementation + return np.diag(self(X)) + + def __repr__(self): + return "PermutationalKernel(shape={0}, permutations={1}, kernel={2})".format( + self.shape, self.permutations, self.kernel) + + def is_stationary(self): + """Returns whether the kernel is stationary.""" + return self.kernel.is_stationary() diff --git a/tests/ml/test_kernels.py b/tests/ml/test_kernels.py index b91024cb..57daec17 100644 --- a/tests/ml/test_kernels.py +++ b/tests/ml/test_kernels.py @@ -1,5 +1,5 @@ import numpy as np -from molSimplify.ml.kernels import Masking +from molSimplify.ml.kernels import Masking, PermutationalKernel from sklearn.gaussian_process.kernels import RBF @@ -18,3 +18,52 @@ def test_masking(): # Second use case, with a slice mask, equivalent to ::2 kernel2 = Masking(slice(None, None, 2), RBF(length_scale=1.5)) np.testing.assert_allclose(kernel(X, Y), kernel2(X, Y)) + + +def test_permutational_kernel(): + permutations = [ + (0, 1), + (1, 0), + ] + + rng = np.random.default_rng(0) + X = rng.normal(1.2, 0.4, size=(10, 2, 4)) + Y = rng.normal(1.1, 0.5, size=(5, 2, 4)) + + kernel = PermutationalKernel(shape=(2, 4), permutations=permutations, kernel=RBF(length_scale=1.5)) + + # X only + np.testing.assert_allclose(kernel(X.reshape(10, 8)), kernel(X[:, [1, 0]].reshape(10, 8))) + # permute X + np.testing.assert_allclose(kernel(X.reshape(10, 8), Y.reshape(5, 8)), + kernel(X[:, [1, 0]].reshape(10, 8), Y.reshape(5, 8))) + # permute Y + np.testing.assert_allclose(kernel(X.reshape(10, 8), Y.reshape(5, 8)), + kernel(X.reshape(10, 8), Y[:, [1, 0]].reshape(5, 8))) + # permute both + np.testing.assert_allclose(kernel(X.reshape(10, 8), Y.reshape(5, 8)), + kernel(X[:, [1, 0]].reshape(10, 8), Y[:, [1, 0]].reshape(5, 8))) + + +def test_permutational_kernel_gradient(): + permutations = [ + (0, 1), + (1, 0), + ] + + rng = np.random.default_rng(0) + X = rng.normal(1.2, 0.4, size=(10, 2, 4)) + + l0 = 1.5 + kernel = PermutationalKernel(shape=(2, 4), permutations=permutations, kernel=RBF(length_scale=l0)) + _, K_grad = kernel(X, eval_gradient=True) + + # Compute the gradient numerically + delta_l = 1e-4 + K_plus = PermutationalKernel(shape=(2, 4), permutations=permutations, kernel=RBF(length_scale=l0 + 0.5 * delta_l))(X) + K_minus = PermutationalKernel(shape=(2, 4), permutations=permutations, kernel=RBF(length_scale=l0 - 0.5 * delta_l))(X) + + # Since we are looking for the gradient with respect to log(theta), we need to apply the chain + # rule and divide by the derivative of the log function, i.e., multiply by l0 + K_grad_num = (K_plus - K_minus) / delta_l * l0 + np.testing.assert_allclose(K_grad_num, K_grad.squeeze(), atol=1e-4) From cded44f4cd1ece8141b95188afcef5b16cfc58fc Mon Sep 17 00:00:00 2001 From: Ralf Meyer Date: Mon, 22 Apr 2024 19:35:46 -0400 Subject: [PATCH 2/9] Add from_mol3D constructor --- molSimplify/Classes/mol2D.py | 15 +++++++++++++++ tests/test_Mol2D.py | 9 +++++++++ 2 files changed, 24 insertions(+) diff --git a/molSimplify/Classes/mol2D.py b/molSimplify/Classes/mol2D.py index aa5c396b..973fed1b 100644 --- a/molSimplify/Classes/mol2D.py +++ b/molSimplify/Classes/mol2D.py @@ -3,6 +3,7 @@ from typing import List from packaging import version from molSimplify.Classes.globalvars import globalvars +from molSimplify.Classes.mol3D import mol3D as Mol3D try: from openbabel import openbabel # version 3 style import @@ -121,6 +122,20 @@ def from_mol_file(cls, filename): return mol + @classmethod + def from_mol3d(cls, mol3d: Mol3D): + if len(mol3d.graph) == 0: + raise ValueError("Mol3D object does not have molecular graph attached.") + + mol = cls() + + for i, atom in enumerate(mol3d.atoms): + mol.add_node(i, symbol=atom.sym) + + bonds = ((int(e[0]), int(e[1])) for e in zip(*mol3d.graph.nonzero())) + mol.add_edges_from(bonds) + return mol + def graph_hash(self): """Calculates the node attributed graph hash of the molecule. diff --git a/tests/test_Mol2D.py b/tests/test_Mol2D.py index 94be9a4d..d9c61570 100644 --- a/tests/test_Mol2D.py +++ b/tests/test_Mol2D.py @@ -1,5 +1,6 @@ import pytest from molSimplify.Classes.mol2D import Mol2D +from molSimplify.Classes.mol3D import mol3D as Mol3D def water_Mol2D(): @@ -97,6 +98,14 @@ def test_Mol2D_constructors(resource_path_root, name, smiles, mol_ref): assert mol.nodes == mol_ref.nodes assert mol.edges == mol_ref.edges + # from mol3D + mol3d = Mol3D() + mol3d.readfrommol2(resource_path_root / "inputs" / "io" / f"{name}.mol2") + mol = Mol2D.from_mol3d(mol3d) + + assert mol.nodes == mol_ref.nodes + assert mol.edges == mol_ref.edges + @pytest.mark.parametrize( "filename, node_hash_ref, edge_hash_ref, graph_det_ref", From 59ec300408f99db6c7559e9cf4c1c5a3c2d5fd04 Mon Sep 17 00:00:00 2001 From: Ralf Meyer Date: Mon, 22 Apr 2024 19:35:59 -0400 Subject: [PATCH 3/9] Remove unnecessay comment --- .github/workflows/python-linter.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/python-linter.yaml b/.github/workflows/python-linter.yaml index dca468c4..a7ca8b42 100644 --- a/.github/workflows/python-linter.yaml +++ b/.github/workflows/python-linter.yaml @@ -62,7 +62,6 @@ jobs: pip install mypy types-setuptools types-PyYAML types-requests types-tensorflow types-beautifulsoup4 pandas-stubs PyQt5-stubs - name: Typecheck with mypy run: | - # Exclude parts of Informatics for now mypy --ignore-missing-imports molSimplify - name: Report Status From d987494b801b944e7c552134feed79a731cc80f0 Mon Sep 17 00:00:00 2001 From: Ralf Meyer Date: Mon, 22 Apr 2024 20:17:28 -0400 Subject: [PATCH 4/9] Add racs_names functions --- molSimplify/Informatics/graph_racs.py | 43 +++++++++++++++ tests/informatics/test_graph_racs.py | 77 +++++++++------------------ 2 files changed, 68 insertions(+), 52 deletions(-) diff --git a/molSimplify/Informatics/graph_racs.py b/molSimplify/Informatics/graph_racs.py index 6e7b263f..6e36a1dd 100644 --- a/molSimplify/Informatics/graph_racs.py +++ b/molSimplify/Informatics/graph_racs.py @@ -198,6 +198,7 @@ def octahedral_racs( axis=0, ) + # start = f, scope = ax, product output[4] = np.mean( [ multi_centered_AC(g, depth=depth, property_fun=property_fun) @@ -205,6 +206,7 @@ def octahedral_racs( ], axis=0, ) + # start = f, scope = ax, product output[5] = np.mean( [ multi_centered_AC(g, depth=depth, property_fun=property_fun) @@ -243,6 +245,29 @@ def octahedral_racs( return output +def octahedral_racs_names(depth=3, properties=None) -> List[str]: + if properties is None: + properties = ["Z", "chi", "T", "I", "S"] + + start_scope = [ + ("f", "all"), + ("mc", "all"), + ("lc", "ax"), + ("lc", "eq"), + ("f", "ax"), + ("f", "eq"), + ("D_mc", "all"), + ("D_lc", "ax"), + ("D_lc", "eq"), + ] + return [ + f"{start}-{prop}-{d}-{scope}" + for start, scope in start_scope + for d in range(0, depth + 1) + for prop in properties + ] + + def ligand_racs( mol: Mol2D, depth: int = 3, @@ -286,3 +311,21 @@ def ligand_racs( output[i, 3] = multi_centered_AC(g, depth=depth, operation=operator.sub, property_fun=property_fun) return output + + +def ligand_racs_names(depth: int = 3, properties=None, full_scope: bool = True) -> List[str]: + if properties is None: + properties = ["Z", "chi", "T", "I", "S"] + + starts = [ + "lc_P", + "lc_D", + ] + if full_scope: + starts += ["f_P", "f_D"] + return [ + f"{start}-{prop}-{d}" + for start in starts + for d in range(0, depth + 1) + for prop in properties + ] diff --git a/tests/informatics/test_graph_racs.py b/tests/informatics/test_graph_racs.py index 59841d21..1795cafc 100644 --- a/tests/informatics/test_graph_racs.py +++ b/tests/informatics/test_graph_racs.py @@ -7,7 +7,9 @@ atom_centered_AC, multi_centered_AC, octahedral_racs, + octahedral_racs_names, ligand_racs, + ligand_racs_names, ) @@ -95,41 +97,24 @@ def test_octahedral_racs( ref_dict = json.load(fin) depth = 3 - properties = ["Z", "chi", "T", "I", "S"] descriptors = octahedral_racs( mol, depth=depth, equatorial_connecting_atoms=eq_atoms, ) - # Dictionary encoding the order of the descriptors in the numpy array - start_scopes = { - 0: ("f", "all"), - 1: ("mc", "all"), - 2: ("lc", "ax"), - 3: ("lc", "eq"), - 4: ("f", "ax"), - 5: ("f", "eq"), - 6: ("D_mc", "all"), - 7: ("D_lc", "ax"), - 8: ("D_lc", "eq"), - } - - for s, (start, scope) in start_scopes.items(): - for d in range(depth + 1): - for p, prop in enumerate(properties): - print( - start, - scope, - d, - prop, - descriptors[s, d, p], - ref_dict[f"{start}-{prop}-{d}-{scope}"], - ) - assert ( - abs(descriptors[s, d, p] - ref_dict[f"{start}-{prop}-{d}-{scope}"]) - < atol - ) + descriptor_names = octahedral_racs_names(depth=depth) + + for name, rac in zip(descriptor_names, descriptors.flatten()): + print( + name, + rac, + ref_dict[name], + ) + assert ( + abs(rac - ref_dict[name]) + < atol + ) @pytest.mark.parametrize( @@ -165,29 +150,17 @@ def test_ligand_racs( full_scope=True ) - assert descriptors.shape == (n_ligs, 4, depth + 1, 5) + descriptor_names = ligand_racs_names(depth=depth) - starts = { - 0: "lc_P", - 1: "lc_D", - 2: "f_P", - 3: "f_D", - } + assert descriptors.shape == (n_ligs, 4, depth + 1, 5) - properties = ["Z", "chi", "T", "I", "S"] for lig in range(n_ligs): - for s, start in starts.items(): - for d in range(depth + 1): - for p, prop in enumerate(properties): - print( - f"lig_{lig}", - start, - d, - prop, - descriptors[lig, s, d, p], - ref_dict[f"lig_{lig}-{start}-{prop}-{d}"], - ) - assert ( - abs(descriptors[lig, s, d, p] - ref_dict[f"lig_{lig}-{start}-{prop}-{d}"]) - < atol - ) + for name, rac in zip(descriptor_names, descriptors[lig].flatten()): + print( + rac, + ref_dict[f"lig_{lig}-{name}"], + ) + assert ( + abs(rac - ref_dict[f"lig_{lig}-{name}"]) + < atol + ) From 8d3b3609aa5414c679c4161a7186b8aae6bd0563 Mon Sep 17 00:00:00 2001 From: Ralf Meyer Date: Mon, 22 Apr 2024 20:21:28 -0400 Subject: [PATCH 5/9] Rename ligand RACs --- molSimplify/Informatics/graph_racs.py | 6 +++--- .../testresources/refs/informatics/lig_racs_co_acac_en.json | 2 +- .../refs/informatics/lig_racs_fe_carbonyl_6.json | 2 +- ...lig_racs_mn_furan_water_ammonia_furan_water_ammonia.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/molSimplify/Informatics/graph_racs.py b/molSimplify/Informatics/graph_racs.py index 6e36a1dd..ee88f55b 100644 --- a/molSimplify/Informatics/graph_racs.py +++ b/molSimplify/Informatics/graph_racs.py @@ -318,11 +318,11 @@ def ligand_racs_names(depth: int = 3, properties=None, full_scope: bool = True) properties = ["Z", "chi", "T", "I", "S"] starts = [ - "lc_P", - "lc_D", + "lc", + "D_lc", ] if full_scope: - starts += ["f_P", "f_D"] + starts += ["f", "D_f"] return [ f"{start}-{prop}-{d}" for start in starts diff --git a/tests/testresources/refs/informatics/lig_racs_co_acac_en.json b/tests/testresources/refs/informatics/lig_racs_co_acac_en.json index 57059d18..e803f2a8 100644 --- a/tests/testresources/refs/informatics/lig_racs_co_acac_en.json +++ b/tests/testresources/refs/informatics/lig_racs_co_acac_en.json @@ -1 +1 @@ -{"lig_0-lc_P-Z-0": 64.0, "lig_0-lc_P-chi-0": 11.833599999999999, "lig_0-lc_P-T-0": 1.0, "lig_0-lc_P-I-0": 1.0, "lig_0-lc_P-S-0": 0.5328999999999999, "lig_0-lc_P-Z-1": 48.0, "lig_0-lc_P-chi-1": 8.771999999999998, "lig_0-lc_P-T-1": 3.0, "lig_0-lc_P-I-1": 1.0, "lig_0-lc_P-S-1": 0.5621, "lig_0-lc_P-Z-2": 96.0, "lig_0-lc_P-chi-2": 17.543999999999997, "lig_0-lc_P-T-2": 7.0, "lig_0-lc_P-I-2": 2.0, "lig_0-lc_P-S-2": 1.1242, "lig_0-lc_P-Z-3": 80.0, "lig_0-lc_P-chi-3": 39.044000000000004, "lig_0-lc_P-T-3": 7.0, "lig_0-lc_P-I-3": 5.0, "lig_0-lc_P-S-3": 1.6425, "lig_0-lc_D-Z-0": 0.0, "lig_0-lc_D-chi-0": 0.0, "lig_0-lc_D-T-0": 0.0, "lig_0-lc_D-I-0": 0.0, "lig_0-lc_D-S-0": 0.0, "lig_0-lc_D-Z-1": 2.0, "lig_0-lc_D-chi-1": 0.8900000000000001, "lig_0-lc_D-T-1": -2.0, "lig_0-lc_D-I-1": 0.0, "lig_0-lc_D-S-1": -0.040000000000000036, "lig_0-lc_D-Z-2": 4.0, "lig_0-lc_D-chi-2": 1.7800000000000002, "lig_0-lc_D-T-2": -5.0, "lig_0-lc_D-I-2": 0.0, "lig_0-lc_D-S-2": -0.08000000000000007, "lig_0-lc_D-Z-3": 30.0, "lig_0-lc_D-chi-3": 5.85, "lig_0-lc_D-T-3": -2.0, "lig_0-lc_D-I-3": 0.0, "lig_0-lc_D-S-3": 1.4, "lig_0-f_P-Z-0": 315.0, "lig_0-f_P-chi-0": 90.0597, "lig_0-f_P-T-0": 68.0, "lig_0-f_P-I-0": 14.0, "lig_0-f_P-S-0": 4.988599999999998, "lig_0-f_P-Z-1": 564.0, "lig_0-f_P-chi-1": 165.64800000000005, "lig_0-f_P-T-1": 150.0, "lig_0-f_P-I-1": 26.0, "lig_0-f_P-S-1": 10.980200000000004, "lig_0-f_P-Z-2": 708.0, "lig_0-f_P-chi-2": 257.03100000000006, "lig_0-f_P-T-2": 154.0, "lig_0-f_P-I-2": 42.0, "lig_0-f_P-S-2": 14.255400000000016, "lig_0-f_P-Z-3": 560.0, "lig_0-f_P-chi-3": 271.9460000000002, "lig_0-f_P-T-3": 128.0, "lig_0-f_P-I-3": 40.0, "lig_0-f_P-S-3": 13.5, "lig_0-f_D-Z-0": 0.0, "lig_0-f_D-chi-0": 0.0, "lig_0-f_D-T-0": 0.0, "lig_0-f_D-I-0": 0.0, "lig_0-f_D-S-0": 0.0, "lig_0-f_D-Z-1": 0.0, "lig_0-f_D-chi-1": 0.0, "lig_0-f_D-T-1": 0.0, "lig_0-f_D-I-1": 0.0, "lig_0-f_D-S-1": 1.1102230246251565e-16, "lig_0-f_D-Z-2": 0.0, "lig_0-f_D-chi-2": 0.0, "lig_0-f_D-T-2": 0.0, "lig_0-f_D-I-2": 0.0, "lig_0-f_D-S-2": 1.1102230246251565e-16, "lig_0-f_D-Z-3": 0.0, "lig_0-f_D-chi-3": -4.440892098500626e-16, "lig_0-f_D-T-3": 0.0, "lig_0-f_D-I-3": 0.0, "lig_0-f_D-S-3": 1.1102230246251565e-16, "lig_1-lc_P-Z-0": 64.0, "lig_1-lc_P-chi-0": 11.833599999999999, "lig_1-lc_P-T-0": 1.0, "lig_1-lc_P-I-0": 1.0, "lig_1-lc_P-S-0": 0.5328999999999999, "lig_1-lc_P-Z-1": 48.0, "lig_1-lc_P-chi-1": 8.771999999999998, "lig_1-lc_P-T-1": 3.0, "lig_1-lc_P-I-1": 1.0, "lig_1-lc_P-S-1": 0.5621, "lig_1-lc_P-Z-2": 96.0, "lig_1-lc_P-chi-2": 17.543999999999997, "lig_1-lc_P-T-2": 7.0, "lig_1-lc_P-I-2": 2.0, "lig_1-lc_P-S-2": 1.1242, "lig_1-lc_P-Z-3": 80.0, "lig_1-lc_P-chi-3": 39.044000000000004, "lig_1-lc_P-T-3": 7.0, "lig_1-lc_P-I-3": 5.0, "lig_1-lc_P-S-3": 1.6425, "lig_1-lc_D-Z-0": 0.0, "lig_1-lc_D-chi-0": 0.0, "lig_1-lc_D-T-0": 0.0, "lig_1-lc_D-I-0": 0.0, "lig_1-lc_D-S-0": 0.0, "lig_1-lc_D-Z-1": 2.0, "lig_1-lc_D-chi-1": 0.8900000000000001, "lig_1-lc_D-T-1": -2.0, "lig_1-lc_D-I-1": 0.0, "lig_1-lc_D-S-1": -0.040000000000000036, "lig_1-lc_D-Z-2": 4.0, "lig_1-lc_D-chi-2": 1.7800000000000002, "lig_1-lc_D-T-2": -5.0, "lig_1-lc_D-I-2": 0.0, "lig_1-lc_D-S-2": -0.08000000000000007, "lig_1-lc_D-Z-3": 30.0, "lig_1-lc_D-chi-3": 5.85, "lig_1-lc_D-T-3": -2.0, "lig_1-lc_D-I-3": 0.0, "lig_1-lc_D-S-3": 1.4, "lig_1-f_P-Z-0": 315.0, "lig_1-f_P-chi-0": 90.0597, "lig_1-f_P-T-0": 68.0, "lig_1-f_P-I-0": 14.0, "lig_1-f_P-S-0": 4.988599999999998, "lig_1-f_P-Z-1": 564.0, "lig_1-f_P-chi-1": 165.64800000000005, "lig_1-f_P-T-1": 150.0, "lig_1-f_P-I-1": 26.0, "lig_1-f_P-S-1": 10.980200000000004, "lig_1-f_P-Z-2": 708.0, "lig_1-f_P-chi-2": 257.03100000000006, "lig_1-f_P-T-2": 154.0, "lig_1-f_P-I-2": 42.0, "lig_1-f_P-S-2": 14.255400000000016, "lig_1-f_P-Z-3": 560.0, "lig_1-f_P-chi-3": 271.9460000000002, "lig_1-f_P-T-3": 128.0, "lig_1-f_P-I-3": 40.0, "lig_1-f_P-S-3": 13.5, "lig_1-f_D-Z-0": 0.0, "lig_1-f_D-chi-0": 0.0, "lig_1-f_D-T-0": 0.0, "lig_1-f_D-I-0": 0.0, "lig_1-f_D-S-0": 0.0, "lig_1-f_D-Z-1": 0.0, "lig_1-f_D-chi-1": 0.0, "lig_1-f_D-T-1": 0.0, "lig_1-f_D-I-1": 0.0, "lig_1-f_D-S-1": 1.1102230246251565e-16, "lig_1-f_D-Z-2": 0.0, "lig_1-f_D-chi-2": 0.0, "lig_1-f_D-T-2": 0.0, "lig_1-f_D-I-2": 0.0, "lig_1-f_D-S-2": 1.1102230246251565e-16, "lig_1-f_D-Z-3": 0.0, "lig_1-f_D-chi-3": -4.440892098500626e-16, "lig_1-f_D-T-3": 0.0, "lig_1-f_D-I-3": 0.0, "lig_1-f_D-S-3": 1.1102230246251565e-16, "lig_2-lc_P-Z-0": 49.0, "lig_2-lc_P-chi-0": 9.2416, "lig_2-lc_P-T-0": 9.0, "lig_2-lc_P-I-0": 1.0, "lig_2-lc_P-S-0": 0.5625, "lig_2-lc_P-Z-1": 56.0, "lig_2-lc_P-chi-1": 21.128, "lig_2-lc_P-T-1": 18.0, "lig_2-lc_P-I-1": 3.0, "lig_2-lc_P-S-1": 1.1324999999999998, "lig_2-lc_P-Z-2": 56.0, "lig_2-lc_P-chi-2": 21.128, "lig_2-lc_P-T-2": 18.0, "lig_2-lc_P-I-2": 3.0, "lig_2-lc_P-S-2": 1.1324999999999998, "lig_2-lc_P-Z-3": 63.0, "lig_2-lc_P-chi-3": 22.617600000000003, "lig_2-lc_P-T-3": 15.0, "lig_2-lc_P-I-3": 3.0, "lig_2-lc_P-S-3": 1.1175, "lig_2-lc_D-Z-0": 0.0, "lig_2-lc_D-chi-0": 0.0, "lig_2-lc_D-T-0": 0.0, "lig_2-lc_D-I-0": 0.0, "lig_2-lc_D-S-0": 0.0, "lig_2-lc_D-Z-1": 13.0, "lig_2-lc_D-chi-1": 2.17, "lig_2-lc_D-T-1": 3.0, "lig_2-lc_D-I-1": 0.0, "lig_2-lc_D-S-1": 0.74, "lig_2-lc_D-Z-2": 13.0, "lig_2-lc_D-chi-2": 2.17, "lig_2-lc_D-T-2": 3.0, "lig_2-lc_D-I-2": 0.0, "lig_2-lc_D-S-2": 0.74, "lig_2-lc_D-Z-3": 12.0, "lig_2-lc_D-chi-3": 1.6799999999999997, "lig_2-lc_D-T-3": 4.0, "lig_2-lc_D-I-3": 0.0, "lig_2-lc_D-S-3": 0.76, "lig_2-f_P-Z-0": 178.0, "lig_2-f_P-chi-0": 70.20820000000002, "lig_2-f_P-T-0": 58.0, "lig_2-f_P-I-0": 12.0, "lig_2-f_P-S-0": 3.4059999999999984, "lig_2-f_P-Z-1": 344.0, "lig_2-f_P-chi-1": 142.39699999999996, "lig_2-f_P-T-1": 136.0, "lig_2-f_P-I-1": 22.0, "lig_2-f_P-S-1": 7.995000000000001, "lig_2-f_P-Z-2": 328.0, "lig_2-f_P-chi-2": 212.99200000000008, "lig_2-f_P-T-2": 144.0, "lig_2-f_P-I-2": 36.0, "lig_2-f_P-S-2": 10.183600000000007, "lig_2-f_P-Z-3": 226.0, "lig_2-f_P-chi-3": 233.02720000000014, "lig_2-f_P-T-3": 98.0, "lig_2-f_P-I-3": 42.0, "lig_2-f_P-S-3": 8.909799999999999, "lig_2-f_D-Z-0": 0.0, "lig_2-f_D-chi-0": 0.0, "lig_2-f_D-T-0": 0.0, "lig_2-f_D-I-0": 0.0, "lig_2-f_D-S-0": 0.0, "lig_2-f_D-Z-1": 0.0, "lig_2-f_D-chi-1": 0.0, "lig_2-f_D-T-1": 0.0, "lig_2-f_D-I-1": 0.0, "lig_2-f_D-S-1": 1.1102230246251565e-16, "lig_2-f_D-Z-2": 0.0, "lig_2-f_D-chi-2": 0.0, "lig_2-f_D-T-2": 0.0, "lig_2-f_D-I-2": 0.0, "lig_2-f_D-S-2": 1.1102230246251565e-16, "lig_2-f_D-Z-3": 0.0, "lig_2-f_D-chi-3": 0.0, "lig_2-f_D-T-3": 0.0, "lig_2-f_D-I-3": 0.0, "lig_2-f_D-S-3": 1.1102230246251565e-16, "lig_3-lc_P-Z-0": 49.0, "lig_3-lc_P-chi-0": 9.2416, "lig_3-lc_P-T-0": 9.0, "lig_3-lc_P-I-0": 1.0, "lig_3-lc_P-S-0": 0.5625, "lig_3-lc_P-Z-1": 56.0, "lig_3-lc_P-chi-1": 21.128, "lig_3-lc_P-T-1": 18.0, "lig_3-lc_P-I-1": 3.0, "lig_3-lc_P-S-1": 1.1324999999999998, "lig_3-lc_P-Z-2": 56.0, "lig_3-lc_P-chi-2": 21.128, "lig_3-lc_P-T-2": 18.0, "lig_3-lc_P-I-2": 3.0, "lig_3-lc_P-S-2": 1.1324999999999998, "lig_3-lc_P-Z-3": 63.0, "lig_3-lc_P-chi-3": 22.617600000000003, "lig_3-lc_P-T-3": 15.0, "lig_3-lc_P-I-3": 3.0, "lig_3-lc_P-S-3": 1.1175, "lig_3-lc_D-Z-0": 0.0, "lig_3-lc_D-chi-0": 0.0, "lig_3-lc_D-T-0": 0.0, "lig_3-lc_D-I-0": 0.0, "lig_3-lc_D-S-0": 0.0, "lig_3-lc_D-Z-1": 13.0, "lig_3-lc_D-chi-1": 2.17, "lig_3-lc_D-T-1": 3.0, "lig_3-lc_D-I-1": 0.0, "lig_3-lc_D-S-1": 0.74, "lig_3-lc_D-Z-2": 13.0, "lig_3-lc_D-chi-2": 2.17, "lig_3-lc_D-T-2": 3.0, "lig_3-lc_D-I-2": 0.0, "lig_3-lc_D-S-2": 0.74, "lig_3-lc_D-Z-3": 12.0, "lig_3-lc_D-chi-3": 1.6799999999999997, "lig_3-lc_D-T-3": 4.0, "lig_3-lc_D-I-3": 0.0, "lig_3-lc_D-S-3": 0.76, "lig_3-f_P-Z-0": 178.0, "lig_3-f_P-chi-0": 70.20820000000002, "lig_3-f_P-T-0": 58.0, "lig_3-f_P-I-0": 12.0, "lig_3-f_P-S-0": 3.4059999999999984, "lig_3-f_P-Z-1": 344.0, "lig_3-f_P-chi-1": 142.39699999999996, "lig_3-f_P-T-1": 136.0, "lig_3-f_P-I-1": 22.0, "lig_3-f_P-S-1": 7.995000000000001, "lig_3-f_P-Z-2": 328.0, "lig_3-f_P-chi-2": 212.99200000000008, "lig_3-f_P-T-2": 144.0, "lig_3-f_P-I-2": 36.0, "lig_3-f_P-S-2": 10.183600000000007, "lig_3-f_P-Z-3": 226.0, "lig_3-f_P-chi-3": 233.02720000000014, "lig_3-f_P-T-3": 98.0, "lig_3-f_P-I-3": 42.0, "lig_3-f_P-S-3": 8.909799999999999, "lig_3-f_D-Z-0": 0.0, "lig_3-f_D-chi-0": 0.0, "lig_3-f_D-T-0": 0.0, "lig_3-f_D-I-0": 0.0, "lig_3-f_D-S-0": 0.0, "lig_3-f_D-Z-1": 0.0, "lig_3-f_D-chi-1": 0.0, "lig_3-f_D-T-1": 0.0, "lig_3-f_D-I-1": 0.0, "lig_3-f_D-S-1": 1.1102230246251565e-16, "lig_3-f_D-Z-2": 0.0, "lig_3-f_D-chi-2": 0.0, "lig_3-f_D-T-2": 0.0, "lig_3-f_D-I-2": 0.0, "lig_3-f_D-S-2": 1.1102230246251565e-16, "lig_3-f_D-Z-3": 0.0, "lig_3-f_D-chi-3": 0.0, "lig_3-f_D-T-3": 0.0, "lig_3-f_D-I-3": 0.0, "lig_3-f_D-S-3": 1.1102230246251565e-16} +{"lig_0-lc-Z-0": 64.0, "lig_0-lc-chi-0": 11.833599999999999, "lig_0-lc-T-0": 1.0, "lig_0-lc-I-0": 1.0, "lig_0-lc-S-0": 0.5328999999999999, "lig_0-lc-Z-1": 48.0, "lig_0-lc-chi-1": 8.771999999999998, "lig_0-lc-T-1": 3.0, "lig_0-lc-I-1": 1.0, "lig_0-lc-S-1": 0.5621, "lig_0-lc-Z-2": 96.0, "lig_0-lc-chi-2": 17.543999999999997, "lig_0-lc-T-2": 7.0, "lig_0-lc-I-2": 2.0, "lig_0-lc-S-2": 1.1242, "lig_0-lc-Z-3": 80.0, "lig_0-lc-chi-3": 39.044000000000004, "lig_0-lc-T-3": 7.0, "lig_0-lc-I-3": 5.0, "lig_0-lc-S-3": 1.6425, "lig_0-D_lc-Z-0": 0.0, "lig_0-D_lc-chi-0": 0.0, "lig_0-D_lc-T-0": 0.0, "lig_0-D_lc-I-0": 0.0, "lig_0-D_lc-S-0": 0.0, "lig_0-D_lc-Z-1": 2.0, "lig_0-D_lc-chi-1": 0.8900000000000001, "lig_0-D_lc-T-1": -2.0, "lig_0-D_lc-I-1": 0.0, "lig_0-D_lc-S-1": -0.040000000000000036, "lig_0-D_lc-Z-2": 4.0, "lig_0-D_lc-chi-2": 1.7800000000000002, "lig_0-D_lc-T-2": -5.0, "lig_0-D_lc-I-2": 0.0, "lig_0-D_lc-S-2": -0.08000000000000007, "lig_0-D_lc-Z-3": 30.0, "lig_0-D_lc-chi-3": 5.85, "lig_0-D_lc-T-3": -2.0, "lig_0-D_lc-I-3": 0.0, "lig_0-D_lc-S-3": 1.4, "lig_0-f-Z-0": 315.0, "lig_0-f-chi-0": 90.0597, "lig_0-f-T-0": 68.0, "lig_0-f-I-0": 14.0, "lig_0-f-S-0": 4.988599999999998, "lig_0-f-Z-1": 564.0, "lig_0-f-chi-1": 165.64800000000005, "lig_0-f-T-1": 150.0, "lig_0-f-I-1": 26.0, "lig_0-f-S-1": 10.980200000000004, "lig_0-f-Z-2": 708.0, "lig_0-f-chi-2": 257.03100000000006, "lig_0-f-T-2": 154.0, "lig_0-f-I-2": 42.0, "lig_0-f-S-2": 14.255400000000016, "lig_0-f-Z-3": 560.0, "lig_0-f-chi-3": 271.9460000000002, "lig_0-f-T-3": 128.0, "lig_0-f-I-3": 40.0, "lig_0-f-S-3": 13.5, "lig_0-D_f-Z-0": 0.0, "lig_0-D_f-chi-0": 0.0, "lig_0-D_f-T-0": 0.0, "lig_0-D_f-I-0": 0.0, "lig_0-D_f-S-0": 0.0, "lig_0-D_f-Z-1": 0.0, "lig_0-D_f-chi-1": 0.0, "lig_0-D_f-T-1": 0.0, "lig_0-D_f-I-1": 0.0, "lig_0-D_f-S-1": 1.1102230246251565e-16, "lig_0-D_f-Z-2": 0.0, "lig_0-D_f-chi-2": 0.0, "lig_0-D_f-T-2": 0.0, "lig_0-D_f-I-2": 0.0, "lig_0-D_f-S-2": 1.1102230246251565e-16, "lig_0-D_f-Z-3": 0.0, "lig_0-D_f-chi-3": -4.440892098500626e-16, "lig_0-D_f-T-3": 0.0, "lig_0-D_f-I-3": 0.0, "lig_0-D_f-S-3": 1.1102230246251565e-16, "lig_1-lc-Z-0": 64.0, "lig_1-lc-chi-0": 11.833599999999999, "lig_1-lc-T-0": 1.0, "lig_1-lc-I-0": 1.0, "lig_1-lc-S-0": 0.5328999999999999, "lig_1-lc-Z-1": 48.0, "lig_1-lc-chi-1": 8.771999999999998, "lig_1-lc-T-1": 3.0, "lig_1-lc-I-1": 1.0, "lig_1-lc-S-1": 0.5621, "lig_1-lc-Z-2": 96.0, "lig_1-lc-chi-2": 17.543999999999997, "lig_1-lc-T-2": 7.0, "lig_1-lc-I-2": 2.0, "lig_1-lc-S-2": 1.1242, "lig_1-lc-Z-3": 80.0, "lig_1-lc-chi-3": 39.044000000000004, "lig_1-lc-T-3": 7.0, "lig_1-lc-I-3": 5.0, "lig_1-lc-S-3": 1.6425, "lig_1-D_lc-Z-0": 0.0, "lig_1-D_lc-chi-0": 0.0, "lig_1-D_lc-T-0": 0.0, "lig_1-D_lc-I-0": 0.0, "lig_1-D_lc-S-0": 0.0, "lig_1-D_lc-Z-1": 2.0, "lig_1-D_lc-chi-1": 0.8900000000000001, "lig_1-D_lc-T-1": -2.0, "lig_1-D_lc-I-1": 0.0, "lig_1-D_lc-S-1": -0.040000000000000036, "lig_1-D_lc-Z-2": 4.0, "lig_1-D_lc-chi-2": 1.7800000000000002, "lig_1-D_lc-T-2": -5.0, "lig_1-D_lc-I-2": 0.0, "lig_1-D_lc-S-2": -0.08000000000000007, "lig_1-D_lc-Z-3": 30.0, "lig_1-D_lc-chi-3": 5.85, "lig_1-D_lc-T-3": -2.0, "lig_1-D_lc-I-3": 0.0, "lig_1-D_lc-S-3": 1.4, "lig_1-f-Z-0": 315.0, "lig_1-f-chi-0": 90.0597, "lig_1-f-T-0": 68.0, "lig_1-f-I-0": 14.0, "lig_1-f-S-0": 4.988599999999998, "lig_1-f-Z-1": 564.0, "lig_1-f-chi-1": 165.64800000000005, "lig_1-f-T-1": 150.0, "lig_1-f-I-1": 26.0, "lig_1-f-S-1": 10.980200000000004, "lig_1-f-Z-2": 708.0, "lig_1-f-chi-2": 257.03100000000006, "lig_1-f-T-2": 154.0, "lig_1-f-I-2": 42.0, "lig_1-f-S-2": 14.255400000000016, "lig_1-f-Z-3": 560.0, "lig_1-f-chi-3": 271.9460000000002, "lig_1-f-T-3": 128.0, "lig_1-f-I-3": 40.0, "lig_1-f-S-3": 13.5, "lig_1-D_f-Z-0": 0.0, "lig_1-D_f-chi-0": 0.0, "lig_1-D_f-T-0": 0.0, "lig_1-D_f-I-0": 0.0, "lig_1-D_f-S-0": 0.0, "lig_1-D_f-Z-1": 0.0, "lig_1-D_f-chi-1": 0.0, "lig_1-D_f-T-1": 0.0, "lig_1-D_f-I-1": 0.0, "lig_1-D_f-S-1": 1.1102230246251565e-16, "lig_1-D_f-Z-2": 0.0, "lig_1-D_f-chi-2": 0.0, "lig_1-D_f-T-2": 0.0, "lig_1-D_f-I-2": 0.0, "lig_1-D_f-S-2": 1.1102230246251565e-16, "lig_1-D_f-Z-3": 0.0, "lig_1-D_f-chi-3": -4.440892098500626e-16, "lig_1-D_f-T-3": 0.0, "lig_1-D_f-I-3": 0.0, "lig_1-D_f-S-3": 1.1102230246251565e-16, "lig_2-lc-Z-0": 49.0, "lig_2-lc-chi-0": 9.2416, "lig_2-lc-T-0": 9.0, "lig_2-lc-I-0": 1.0, "lig_2-lc-S-0": 0.5625, "lig_2-lc-Z-1": 56.0, "lig_2-lc-chi-1": 21.128, "lig_2-lc-T-1": 18.0, "lig_2-lc-I-1": 3.0, "lig_2-lc-S-1": 1.1324999999999998, "lig_2-lc-Z-2": 56.0, "lig_2-lc-chi-2": 21.128, "lig_2-lc-T-2": 18.0, "lig_2-lc-I-2": 3.0, "lig_2-lc-S-2": 1.1324999999999998, "lig_2-lc-Z-3": 63.0, "lig_2-lc-chi-3": 22.617600000000003, "lig_2-lc-T-3": 15.0, "lig_2-lc-I-3": 3.0, "lig_2-lc-S-3": 1.1175, "lig_2-D_lc-Z-0": 0.0, "lig_2-D_lc-chi-0": 0.0, "lig_2-D_lc-T-0": 0.0, "lig_2-D_lc-I-0": 0.0, "lig_2-D_lc-S-0": 0.0, "lig_2-D_lc-Z-1": 13.0, "lig_2-D_lc-chi-1": 2.17, "lig_2-D_lc-T-1": 3.0, "lig_2-D_lc-I-1": 0.0, "lig_2-D_lc-S-1": 0.74, "lig_2-D_lc-Z-2": 13.0, "lig_2-D_lc-chi-2": 2.17, "lig_2-D_lc-T-2": 3.0, "lig_2-D_lc-I-2": 0.0, "lig_2-D_lc-S-2": 0.74, "lig_2-D_lc-Z-3": 12.0, "lig_2-D_lc-chi-3": 1.6799999999999997, "lig_2-D_lc-T-3": 4.0, "lig_2-D_lc-I-3": 0.0, "lig_2-D_lc-S-3": 0.76, "lig_2-f-Z-0": 178.0, "lig_2-f-chi-0": 70.20820000000002, "lig_2-f-T-0": 58.0, "lig_2-f-I-0": 12.0, "lig_2-f-S-0": 3.4059999999999984, "lig_2-f-Z-1": 344.0, "lig_2-f-chi-1": 142.39699999999996, "lig_2-f-T-1": 136.0, "lig_2-f-I-1": 22.0, "lig_2-f-S-1": 7.995000000000001, "lig_2-f-Z-2": 328.0, "lig_2-f-chi-2": 212.99200000000008, "lig_2-f-T-2": 144.0, "lig_2-f-I-2": 36.0, "lig_2-f-S-2": 10.183600000000007, "lig_2-f-Z-3": 226.0, "lig_2-f-chi-3": 233.02720000000014, "lig_2-f-T-3": 98.0, "lig_2-f-I-3": 42.0, "lig_2-f-S-3": 8.909799999999999, "lig_2-D_f-Z-0": 0.0, "lig_2-D_f-chi-0": 0.0, "lig_2-D_f-T-0": 0.0, "lig_2-D_f-I-0": 0.0, "lig_2-D_f-S-0": 0.0, "lig_2-D_f-Z-1": 0.0, "lig_2-D_f-chi-1": 0.0, "lig_2-D_f-T-1": 0.0, "lig_2-D_f-I-1": 0.0, "lig_2-D_f-S-1": 1.1102230246251565e-16, "lig_2-D_f-Z-2": 0.0, "lig_2-D_f-chi-2": 0.0, "lig_2-D_f-T-2": 0.0, "lig_2-D_f-I-2": 0.0, "lig_2-D_f-S-2": 1.1102230246251565e-16, "lig_2-D_f-Z-3": 0.0, "lig_2-D_f-chi-3": 0.0, "lig_2-D_f-T-3": 0.0, "lig_2-D_f-I-3": 0.0, "lig_2-D_f-S-3": 1.1102230246251565e-16, "lig_3-lc-Z-0": 49.0, "lig_3-lc-chi-0": 9.2416, "lig_3-lc-T-0": 9.0, "lig_3-lc-I-0": 1.0, "lig_3-lc-S-0": 0.5625, "lig_3-lc-Z-1": 56.0, "lig_3-lc-chi-1": 21.128, "lig_3-lc-T-1": 18.0, "lig_3-lc-I-1": 3.0, "lig_3-lc-S-1": 1.1324999999999998, "lig_3-lc-Z-2": 56.0, "lig_3-lc-chi-2": 21.128, "lig_3-lc-T-2": 18.0, "lig_3-lc-I-2": 3.0, "lig_3-lc-S-2": 1.1324999999999998, "lig_3-lc-Z-3": 63.0, "lig_3-lc-chi-3": 22.617600000000003, "lig_3-lc-T-3": 15.0, "lig_3-lc-I-3": 3.0, "lig_3-lc-S-3": 1.1175, "lig_3-D_lc-Z-0": 0.0, "lig_3-D_lc-chi-0": 0.0, "lig_3-D_lc-T-0": 0.0, "lig_3-D_lc-I-0": 0.0, "lig_3-D_lc-S-0": 0.0, "lig_3-D_lc-Z-1": 13.0, "lig_3-D_lc-chi-1": 2.17, "lig_3-D_lc-T-1": 3.0, "lig_3-D_lc-I-1": 0.0, "lig_3-D_lc-S-1": 0.74, "lig_3-D_lc-Z-2": 13.0, "lig_3-D_lc-chi-2": 2.17, "lig_3-D_lc-T-2": 3.0, "lig_3-D_lc-I-2": 0.0, "lig_3-D_lc-S-2": 0.74, "lig_3-D_lc-Z-3": 12.0, "lig_3-D_lc-chi-3": 1.6799999999999997, "lig_3-D_lc-T-3": 4.0, "lig_3-D_lc-I-3": 0.0, "lig_3-D_lc-S-3": 0.76, "lig_3-f-Z-0": 178.0, "lig_3-f-chi-0": 70.20820000000002, "lig_3-f-T-0": 58.0, "lig_3-f-I-0": 12.0, "lig_3-f-S-0": 3.4059999999999984, "lig_3-f-Z-1": 344.0, "lig_3-f-chi-1": 142.39699999999996, "lig_3-f-T-1": 136.0, "lig_3-f-I-1": 22.0, "lig_3-f-S-1": 7.995000000000001, "lig_3-f-Z-2": 328.0, "lig_3-f-chi-2": 212.99200000000008, "lig_3-f-T-2": 144.0, "lig_3-f-I-2": 36.0, "lig_3-f-S-2": 10.183600000000007, "lig_3-f-Z-3": 226.0, "lig_3-f-chi-3": 233.02720000000014, "lig_3-f-T-3": 98.0, "lig_3-f-I-3": 42.0, "lig_3-f-S-3": 8.909799999999999, "lig_3-D_f-Z-0": 0.0, "lig_3-D_f-chi-0": 0.0, "lig_3-D_f-T-0": 0.0, "lig_3-D_f-I-0": 0.0, "lig_3-D_f-S-0": 0.0, "lig_3-D_f-Z-1": 0.0, "lig_3-D_f-chi-1": 0.0, "lig_3-D_f-T-1": 0.0, "lig_3-D_f-I-1": 0.0, "lig_3-D_f-S-1": 1.1102230246251565e-16, "lig_3-D_f-Z-2": 0.0, "lig_3-D_f-chi-2": 0.0, "lig_3-D_f-T-2": 0.0, "lig_3-D_f-I-2": 0.0, "lig_3-D_f-S-2": 1.1102230246251565e-16, "lig_3-D_f-Z-3": 0.0, "lig_3-D_f-chi-3": 0.0, "lig_3-D_f-T-3": 0.0, "lig_3-D_f-I-3": 0.0, "lig_3-D_f-S-3": 1.1102230246251565e-16} diff --git a/tests/testresources/refs/informatics/lig_racs_fe_carbonyl_6.json b/tests/testresources/refs/informatics/lig_racs_fe_carbonyl_6.json index fe12a41d..8dbed348 100644 --- a/tests/testresources/refs/informatics/lig_racs_fe_carbonyl_6.json +++ b/tests/testresources/refs/informatics/lig_racs_fe_carbonyl_6.json @@ -1 +1 @@ -{"lig_0-lc_P-Z-0": 36.0, "lig_0-lc_P-chi-0": 6.5024999999999995, "lig_0-lc_P-T-0": 1.0, "lig_0-lc_P-I-0": 1.0, "lig_0-lc_P-S-0": 0.5929, "lig_0-lc_P-Z-1": 48.0, "lig_0-lc_P-chi-1": 8.771999999999998, "lig_0-lc_P-T-1": 1.0, "lig_0-lc_P-I-1": 1.0, "lig_0-lc_P-S-1": 0.5621, "lig_0-lc_P-Z-2": 0.0, "lig_0-lc_P-chi-2": 0.0, "lig_0-lc_P-T-2": 0.0, "lig_0-lc_P-I-2": 0.0, "lig_0-lc_P-S-2": 0.0, "lig_0-lc_P-Z-3": 0.0, "lig_0-lc_P-chi-3": 0.0, "lig_0-lc_P-T-3": 0.0, "lig_0-lc_P-I-3": 0.0, "lig_0-lc_P-S-3": 0.0, "lig_0-lc_D-Z-0": 0.0, "lig_0-lc_D-chi-0": 0.0, "lig_0-lc_D-T-0": 0.0, "lig_0-lc_D-I-0": 0.0, "lig_0-lc_D-S-0": 0.0, "lig_0-lc_D-Z-1": -2.0, "lig_0-lc_D-chi-1": -0.8900000000000001, "lig_0-lc_D-T-1": 0.0, "lig_0-lc_D-I-1": 0.0, "lig_0-lc_D-S-1": 0.040000000000000036, "lig_0-lc_D-Z-2": 0.0, "lig_0-lc_D-chi-2": 0.0, "lig_0-lc_D-T-2": 0.0, "lig_0-lc_D-I-2": 0.0, "lig_0-lc_D-S-2": 0.0, "lig_0-lc_D-Z-3": 0.0, "lig_0-lc_D-chi-3": 0.0, "lig_0-lc_D-T-3": 0.0, "lig_0-lc_D-I-3": 0.0, "lig_0-lc_D-S-3": 0.0, "lig_0-f_P-Z-0": 100.0, "lig_0-f_P-chi-0": 18.3361, "lig_0-f_P-T-0": 2.0, "lig_0-f_P-I-0": 2.0, "lig_0-f_P-S-0": 1.1258, "lig_0-f_P-Z-1": 96.0, "lig_0-f_P-chi-1": 17.543999999999997, "lig_0-f_P-T-1": 2.0, "lig_0-f_P-I-1": 2.0, "lig_0-f_P-S-1": 1.1242, "lig_0-f_P-Z-2": 0.0, "lig_0-f_P-chi-2": 0.0, "lig_0-f_P-T-2": 0.0, "lig_0-f_P-I-2": 0.0, "lig_0-f_P-S-2": 0.0, "lig_0-f_P-Z-3": 0.0, "lig_0-f_P-chi-3": 0.0, "lig_0-f_P-T-3": 0.0, "lig_0-f_P-I-3": 0.0, "lig_0-f_P-S-3": 0.0, "lig_0-f_D-Z-0": 0.0, "lig_0-f_D-chi-0": 0.0, "lig_0-f_D-T-0": 0.0, "lig_0-f_D-I-0": 0.0, "lig_0-f_D-S-0": 0.0, "lig_0-f_D-Z-1": 0.0, "lig_0-f_D-chi-1": 0.0, "lig_0-f_D-T-1": 0.0, "lig_0-f_D-I-1": 0.0, "lig_0-f_D-S-1": 0.0, "lig_0-f_D-Z-2": 0.0, "lig_0-f_D-chi-2": 0.0, "lig_0-f_D-T-2": 0.0, "lig_0-f_D-I-2": 0.0, "lig_0-f_D-S-2": 0.0, "lig_0-f_D-Z-3": 0.0, "lig_0-f_D-chi-3": 0.0, "lig_0-f_D-T-3": 0.0, "lig_0-f_D-I-3": 0.0, "lig_0-f_D-S-3": 0.0, "lig_1-lc_P-Z-0": 36.0, "lig_1-lc_P-chi-0": 6.5024999999999995, "lig_1-lc_P-T-0": 1.0, "lig_1-lc_P-I-0": 1.0, "lig_1-lc_P-S-0": 0.5929, "lig_1-lc_P-Z-1": 48.0, "lig_1-lc_P-chi-1": 8.771999999999998, "lig_1-lc_P-T-1": 1.0, "lig_1-lc_P-I-1": 1.0, "lig_1-lc_P-S-1": 0.5621, "lig_1-lc_P-Z-2": 0.0, "lig_1-lc_P-chi-2": 0.0, "lig_1-lc_P-T-2": 0.0, "lig_1-lc_P-I-2": 0.0, "lig_1-lc_P-S-2": 0.0, "lig_1-lc_P-Z-3": 0.0, "lig_1-lc_P-chi-3": 0.0, "lig_1-lc_P-T-3": 0.0, "lig_1-lc_P-I-3": 0.0, "lig_1-lc_P-S-3": 0.0, "lig_1-lc_D-Z-0": 0.0, "lig_1-lc_D-chi-0": 0.0, "lig_1-lc_D-T-0": 0.0, "lig_1-lc_D-I-0": 0.0, "lig_1-lc_D-S-0": 0.0, "lig_1-lc_D-Z-1": -2.0, "lig_1-lc_D-chi-1": -0.8900000000000001, "lig_1-lc_D-T-1": 0.0, "lig_1-lc_D-I-1": 0.0, "lig_1-lc_D-S-1": 0.040000000000000036, "lig_1-lc_D-Z-2": 0.0, "lig_1-lc_D-chi-2": 0.0, "lig_1-lc_D-T-2": 0.0, "lig_1-lc_D-I-2": 0.0, "lig_1-lc_D-S-2": 0.0, "lig_1-lc_D-Z-3": 0.0, "lig_1-lc_D-chi-3": 0.0, "lig_1-lc_D-T-3": 0.0, "lig_1-lc_D-I-3": 0.0, "lig_1-lc_D-S-3": 0.0, "lig_1-f_P-Z-0": 100.0, "lig_1-f_P-chi-0": 18.3361, "lig_1-f_P-T-0": 2.0, "lig_1-f_P-I-0": 2.0, "lig_1-f_P-S-0": 1.1258, "lig_1-f_P-Z-1": 96.0, "lig_1-f_P-chi-1": 17.543999999999997, "lig_1-f_P-T-1": 2.0, "lig_1-f_P-I-1": 2.0, "lig_1-f_P-S-1": 1.1242, "lig_1-f_P-Z-2": 0.0, "lig_1-f_P-chi-2": 0.0, "lig_1-f_P-T-2": 0.0, "lig_1-f_P-I-2": 0.0, "lig_1-f_P-S-2": 0.0, "lig_1-f_P-Z-3": 0.0, "lig_1-f_P-chi-3": 0.0, "lig_1-f_P-T-3": 0.0, "lig_1-f_P-I-3": 0.0, "lig_1-f_P-S-3": 0.0, "lig_1-f_D-Z-0": 0.0, "lig_1-f_D-chi-0": 0.0, "lig_1-f_D-T-0": 0.0, "lig_1-f_D-I-0": 0.0, "lig_1-f_D-S-0": 0.0, "lig_1-f_D-Z-1": 0.0, "lig_1-f_D-chi-1": 0.0, "lig_1-f_D-T-1": 0.0, "lig_1-f_D-I-1": 0.0, "lig_1-f_D-S-1": 0.0, "lig_1-f_D-Z-2": 0.0, "lig_1-f_D-chi-2": 0.0, "lig_1-f_D-T-2": 0.0, "lig_1-f_D-I-2": 0.0, "lig_1-f_D-S-2": 0.0, "lig_1-f_D-Z-3": 0.0, "lig_1-f_D-chi-3": 0.0, "lig_1-f_D-T-3": 0.0, "lig_1-f_D-I-3": 0.0, "lig_1-f_D-S-3": 0.0, "lig_2-lc_P-Z-0": 36.0, "lig_2-lc_P-chi-0": 6.5024999999999995, "lig_2-lc_P-T-0": 1.0, "lig_2-lc_P-I-0": 1.0, "lig_2-lc_P-S-0": 0.5929, "lig_2-lc_P-Z-1": 48.0, "lig_2-lc_P-chi-1": 8.771999999999998, "lig_2-lc_P-T-1": 1.0, "lig_2-lc_P-I-1": 1.0, "lig_2-lc_P-S-1": 0.5621, "lig_2-lc_P-Z-2": 0.0, "lig_2-lc_P-chi-2": 0.0, "lig_2-lc_P-T-2": 0.0, "lig_2-lc_P-I-2": 0.0, "lig_2-lc_P-S-2": 0.0, "lig_2-lc_P-Z-3": 0.0, "lig_2-lc_P-chi-3": 0.0, "lig_2-lc_P-T-3": 0.0, "lig_2-lc_P-I-3": 0.0, "lig_2-lc_P-S-3": 0.0, "lig_2-lc_D-Z-0": 0.0, "lig_2-lc_D-chi-0": 0.0, "lig_2-lc_D-T-0": 0.0, "lig_2-lc_D-I-0": 0.0, "lig_2-lc_D-S-0": 0.0, "lig_2-lc_D-Z-1": -2.0, "lig_2-lc_D-chi-1": -0.8900000000000001, "lig_2-lc_D-T-1": 0.0, "lig_2-lc_D-I-1": 0.0, "lig_2-lc_D-S-1": 0.040000000000000036, "lig_2-lc_D-Z-2": 0.0, "lig_2-lc_D-chi-2": 0.0, "lig_2-lc_D-T-2": 0.0, "lig_2-lc_D-I-2": 0.0, "lig_2-lc_D-S-2": 0.0, "lig_2-lc_D-Z-3": 0.0, "lig_2-lc_D-chi-3": 0.0, "lig_2-lc_D-T-3": 0.0, "lig_2-lc_D-I-3": 0.0, "lig_2-lc_D-S-3": 0.0, "lig_2-f_P-Z-0": 100.0, "lig_2-f_P-chi-0": 18.3361, "lig_2-f_P-T-0": 2.0, "lig_2-f_P-I-0": 2.0, "lig_2-f_P-S-0": 1.1258, "lig_2-f_P-Z-1": 96.0, "lig_2-f_P-chi-1": 17.543999999999997, "lig_2-f_P-T-1": 2.0, "lig_2-f_P-I-1": 2.0, "lig_2-f_P-S-1": 1.1242, "lig_2-f_P-Z-2": 0.0, "lig_2-f_P-chi-2": 0.0, "lig_2-f_P-T-2": 0.0, "lig_2-f_P-I-2": 0.0, "lig_2-f_P-S-2": 0.0, "lig_2-f_P-Z-3": 0.0, "lig_2-f_P-chi-3": 0.0, "lig_2-f_P-T-3": 0.0, "lig_2-f_P-I-3": 0.0, "lig_2-f_P-S-3": 0.0, "lig_2-f_D-Z-0": 0.0, "lig_2-f_D-chi-0": 0.0, "lig_2-f_D-T-0": 0.0, "lig_2-f_D-I-0": 0.0, "lig_2-f_D-S-0": 0.0, "lig_2-f_D-Z-1": 0.0, "lig_2-f_D-chi-1": 0.0, "lig_2-f_D-T-1": 0.0, "lig_2-f_D-I-1": 0.0, "lig_2-f_D-S-1": 0.0, "lig_2-f_D-Z-2": 0.0, "lig_2-f_D-chi-2": 0.0, "lig_2-f_D-T-2": 0.0, "lig_2-f_D-I-2": 0.0, "lig_2-f_D-S-2": 0.0, "lig_2-f_D-Z-3": 0.0, "lig_2-f_D-chi-3": 0.0, "lig_2-f_D-T-3": 0.0, "lig_2-f_D-I-3": 0.0, "lig_2-f_D-S-3": 0.0, "lig_3-lc_P-Z-0": 36.0, "lig_3-lc_P-chi-0": 6.5024999999999995, "lig_3-lc_P-T-0": 1.0, "lig_3-lc_P-I-0": 1.0, "lig_3-lc_P-S-0": 0.5929, "lig_3-lc_P-Z-1": 48.0, "lig_3-lc_P-chi-1": 8.771999999999998, "lig_3-lc_P-T-1": 1.0, "lig_3-lc_P-I-1": 1.0, "lig_3-lc_P-S-1": 0.5621, "lig_3-lc_P-Z-2": 0.0, "lig_3-lc_P-chi-2": 0.0, "lig_3-lc_P-T-2": 0.0, "lig_3-lc_P-I-2": 0.0, "lig_3-lc_P-S-2": 0.0, "lig_3-lc_P-Z-3": 0.0, "lig_3-lc_P-chi-3": 0.0, "lig_3-lc_P-T-3": 0.0, "lig_3-lc_P-I-3": 0.0, "lig_3-lc_P-S-3": 0.0, "lig_3-lc_D-Z-0": 0.0, "lig_3-lc_D-chi-0": 0.0, "lig_3-lc_D-T-0": 0.0, "lig_3-lc_D-I-0": 0.0, "lig_3-lc_D-S-0": 0.0, "lig_3-lc_D-Z-1": -2.0, "lig_3-lc_D-chi-1": -0.8900000000000001, "lig_3-lc_D-T-1": 0.0, "lig_3-lc_D-I-1": 0.0, "lig_3-lc_D-S-1": 0.040000000000000036, "lig_3-lc_D-Z-2": 0.0, "lig_3-lc_D-chi-2": 0.0, "lig_3-lc_D-T-2": 0.0, "lig_3-lc_D-I-2": 0.0, "lig_3-lc_D-S-2": 0.0, "lig_3-lc_D-Z-3": 0.0, "lig_3-lc_D-chi-3": 0.0, "lig_3-lc_D-T-3": 0.0, "lig_3-lc_D-I-3": 0.0, "lig_3-lc_D-S-3": 0.0, "lig_3-f_P-Z-0": 100.0, "lig_3-f_P-chi-0": 18.3361, "lig_3-f_P-T-0": 2.0, "lig_3-f_P-I-0": 2.0, "lig_3-f_P-S-0": 1.1258, "lig_3-f_P-Z-1": 96.0, "lig_3-f_P-chi-1": 17.543999999999997, "lig_3-f_P-T-1": 2.0, "lig_3-f_P-I-1": 2.0, "lig_3-f_P-S-1": 1.1242, "lig_3-f_P-Z-2": 0.0, "lig_3-f_P-chi-2": 0.0, "lig_3-f_P-T-2": 0.0, "lig_3-f_P-I-2": 0.0, "lig_3-f_P-S-2": 0.0, "lig_3-f_P-Z-3": 0.0, "lig_3-f_P-chi-3": 0.0, "lig_3-f_P-T-3": 0.0, "lig_3-f_P-I-3": 0.0, "lig_3-f_P-S-3": 0.0, "lig_3-f_D-Z-0": 0.0, "lig_3-f_D-chi-0": 0.0, "lig_3-f_D-T-0": 0.0, "lig_3-f_D-I-0": 0.0, "lig_3-f_D-S-0": 0.0, "lig_3-f_D-Z-1": 0.0, "lig_3-f_D-chi-1": 0.0, "lig_3-f_D-T-1": 0.0, "lig_3-f_D-I-1": 0.0, "lig_3-f_D-S-1": 0.0, "lig_3-f_D-Z-2": 0.0, "lig_3-f_D-chi-2": 0.0, "lig_3-f_D-T-2": 0.0, "lig_3-f_D-I-2": 0.0, "lig_3-f_D-S-2": 0.0, "lig_3-f_D-Z-3": 0.0, "lig_3-f_D-chi-3": 0.0, "lig_3-f_D-T-3": 0.0, "lig_3-f_D-I-3": 0.0, "lig_3-f_D-S-3": 0.0, "lig_4-lc_P-Z-0": 36.0, "lig_4-lc_P-chi-0": 6.5024999999999995, "lig_4-lc_P-T-0": 1.0, "lig_4-lc_P-I-0": 1.0, "lig_4-lc_P-S-0": 0.5929, "lig_4-lc_P-Z-1": 48.0, "lig_4-lc_P-chi-1": 8.771999999999998, "lig_4-lc_P-T-1": 1.0, "lig_4-lc_P-I-1": 1.0, "lig_4-lc_P-S-1": 0.5621, "lig_4-lc_P-Z-2": 0.0, "lig_4-lc_P-chi-2": 0.0, "lig_4-lc_P-T-2": 0.0, "lig_4-lc_P-I-2": 0.0, "lig_4-lc_P-S-2": 0.0, "lig_4-lc_P-Z-3": 0.0, "lig_4-lc_P-chi-3": 0.0, "lig_4-lc_P-T-3": 0.0, "lig_4-lc_P-I-3": 0.0, "lig_4-lc_P-S-3": 0.0, "lig_4-lc_D-Z-0": 0.0, "lig_4-lc_D-chi-0": 0.0, "lig_4-lc_D-T-0": 0.0, "lig_4-lc_D-I-0": 0.0, "lig_4-lc_D-S-0": 0.0, "lig_4-lc_D-Z-1": -2.0, "lig_4-lc_D-chi-1": -0.8900000000000001, "lig_4-lc_D-T-1": 0.0, "lig_4-lc_D-I-1": 0.0, "lig_4-lc_D-S-1": 0.040000000000000036, "lig_4-lc_D-Z-2": 0.0, "lig_4-lc_D-chi-2": 0.0, "lig_4-lc_D-T-2": 0.0, "lig_4-lc_D-I-2": 0.0, "lig_4-lc_D-S-2": 0.0, "lig_4-lc_D-Z-3": 0.0, "lig_4-lc_D-chi-3": 0.0, "lig_4-lc_D-T-3": 0.0, "lig_4-lc_D-I-3": 0.0, "lig_4-lc_D-S-3": 0.0, "lig_4-f_P-Z-0": 100.0, "lig_4-f_P-chi-0": 18.3361, "lig_4-f_P-T-0": 2.0, "lig_4-f_P-I-0": 2.0, "lig_4-f_P-S-0": 1.1258, "lig_4-f_P-Z-1": 96.0, "lig_4-f_P-chi-1": 17.543999999999997, "lig_4-f_P-T-1": 2.0, "lig_4-f_P-I-1": 2.0, "lig_4-f_P-S-1": 1.1242, "lig_4-f_P-Z-2": 0.0, "lig_4-f_P-chi-2": 0.0, "lig_4-f_P-T-2": 0.0, "lig_4-f_P-I-2": 0.0, "lig_4-f_P-S-2": 0.0, "lig_4-f_P-Z-3": 0.0, "lig_4-f_P-chi-3": 0.0, "lig_4-f_P-T-3": 0.0, "lig_4-f_P-I-3": 0.0, "lig_4-f_P-S-3": 0.0, "lig_4-f_D-Z-0": 0.0, "lig_4-f_D-chi-0": 0.0, "lig_4-f_D-T-0": 0.0, "lig_4-f_D-I-0": 0.0, "lig_4-f_D-S-0": 0.0, "lig_4-f_D-Z-1": 0.0, "lig_4-f_D-chi-1": 0.0, "lig_4-f_D-T-1": 0.0, "lig_4-f_D-I-1": 0.0, "lig_4-f_D-S-1": 0.0, "lig_4-f_D-Z-2": 0.0, "lig_4-f_D-chi-2": 0.0, "lig_4-f_D-T-2": 0.0, "lig_4-f_D-I-2": 0.0, "lig_4-f_D-S-2": 0.0, "lig_4-f_D-Z-3": 0.0, "lig_4-f_D-chi-3": 0.0, "lig_4-f_D-T-3": 0.0, "lig_4-f_D-I-3": 0.0, "lig_4-f_D-S-3": 0.0, "lig_5-lc_P-Z-0": 36.0, "lig_5-lc_P-chi-0": 6.5024999999999995, "lig_5-lc_P-T-0": 1.0, "lig_5-lc_P-I-0": 1.0, "lig_5-lc_P-S-0": 0.5929, "lig_5-lc_P-Z-1": 48.0, "lig_5-lc_P-chi-1": 8.771999999999998, "lig_5-lc_P-T-1": 1.0, "lig_5-lc_P-I-1": 1.0, "lig_5-lc_P-S-1": 0.5621, "lig_5-lc_P-Z-2": 0.0, "lig_5-lc_P-chi-2": 0.0, "lig_5-lc_P-T-2": 0.0, "lig_5-lc_P-I-2": 0.0, "lig_5-lc_P-S-2": 0.0, "lig_5-lc_P-Z-3": 0.0, "lig_5-lc_P-chi-3": 0.0, "lig_5-lc_P-T-3": 0.0, "lig_5-lc_P-I-3": 0.0, "lig_5-lc_P-S-3": 0.0, "lig_5-lc_D-Z-0": 0.0, "lig_5-lc_D-chi-0": 0.0, "lig_5-lc_D-T-0": 0.0, "lig_5-lc_D-I-0": 0.0, "lig_5-lc_D-S-0": 0.0, "lig_5-lc_D-Z-1": -2.0, "lig_5-lc_D-chi-1": -0.8900000000000001, "lig_5-lc_D-T-1": 0.0, "lig_5-lc_D-I-1": 0.0, "lig_5-lc_D-S-1": 0.040000000000000036, "lig_5-lc_D-Z-2": 0.0, "lig_5-lc_D-chi-2": 0.0, "lig_5-lc_D-T-2": 0.0, "lig_5-lc_D-I-2": 0.0, "lig_5-lc_D-S-2": 0.0, "lig_5-lc_D-Z-3": 0.0, "lig_5-lc_D-chi-3": 0.0, "lig_5-lc_D-T-3": 0.0, "lig_5-lc_D-I-3": 0.0, "lig_5-lc_D-S-3": 0.0, "lig_5-f_P-Z-0": 100.0, "lig_5-f_P-chi-0": 18.3361, "lig_5-f_P-T-0": 2.0, "lig_5-f_P-I-0": 2.0, "lig_5-f_P-S-0": 1.1258, "lig_5-f_P-Z-1": 96.0, "lig_5-f_P-chi-1": 17.543999999999997, "lig_5-f_P-T-1": 2.0, "lig_5-f_P-I-1": 2.0, "lig_5-f_P-S-1": 1.1242, "lig_5-f_P-Z-2": 0.0, "lig_5-f_P-chi-2": 0.0, "lig_5-f_P-T-2": 0.0, "lig_5-f_P-I-2": 0.0, "lig_5-f_P-S-2": 0.0, "lig_5-f_P-Z-3": 0.0, "lig_5-f_P-chi-3": 0.0, "lig_5-f_P-T-3": 0.0, "lig_5-f_P-I-3": 0.0, "lig_5-f_P-S-3": 0.0, "lig_5-f_D-Z-0": 0.0, "lig_5-f_D-chi-0": 0.0, "lig_5-f_D-T-0": 0.0, "lig_5-f_D-I-0": 0.0, "lig_5-f_D-S-0": 0.0, "lig_5-f_D-Z-1": 0.0, "lig_5-f_D-chi-1": 0.0, "lig_5-f_D-T-1": 0.0, "lig_5-f_D-I-1": 0.0, "lig_5-f_D-S-1": 0.0, "lig_5-f_D-Z-2": 0.0, "lig_5-f_D-chi-2": 0.0, "lig_5-f_D-T-2": 0.0, "lig_5-f_D-I-2": 0.0, "lig_5-f_D-S-2": 0.0, "lig_5-f_D-Z-3": 0.0, "lig_5-f_D-chi-3": 0.0, "lig_5-f_D-T-3": 0.0, "lig_5-f_D-I-3": 0.0, "lig_5-f_D-S-3": 0.0} +{"lig_0-lc-Z-0": 36.0, "lig_0-lc-chi-0": 6.5024999999999995, "lig_0-lc-T-0": 1.0, "lig_0-lc-I-0": 1.0, "lig_0-lc-S-0": 0.5929, "lig_0-lc-Z-1": 48.0, "lig_0-lc-chi-1": 8.771999999999998, "lig_0-lc-T-1": 1.0, "lig_0-lc-I-1": 1.0, "lig_0-lc-S-1": 0.5621, "lig_0-lc-Z-2": 0.0, "lig_0-lc-chi-2": 0.0, "lig_0-lc-T-2": 0.0, "lig_0-lc-I-2": 0.0, "lig_0-lc-S-2": 0.0, "lig_0-lc-Z-3": 0.0, "lig_0-lc-chi-3": 0.0, "lig_0-lc-T-3": 0.0, "lig_0-lc-I-3": 0.0, "lig_0-lc-S-3": 0.0, "lig_0-D_lc-Z-0": 0.0, "lig_0-D_lc-chi-0": 0.0, "lig_0-D_lc-T-0": 0.0, "lig_0-D_lc-I-0": 0.0, "lig_0-D_lc-S-0": 0.0, "lig_0-D_lc-Z-1": -2.0, "lig_0-D_lc-chi-1": -0.8900000000000001, "lig_0-D_lc-T-1": 0.0, "lig_0-D_lc-I-1": 0.0, "lig_0-D_lc-S-1": 0.040000000000000036, "lig_0-D_lc-Z-2": 0.0, "lig_0-D_lc-chi-2": 0.0, "lig_0-D_lc-T-2": 0.0, "lig_0-D_lc-I-2": 0.0, "lig_0-D_lc-S-2": 0.0, "lig_0-D_lc-Z-3": 0.0, "lig_0-D_lc-chi-3": 0.0, "lig_0-D_lc-T-3": 0.0, "lig_0-D_lc-I-3": 0.0, "lig_0-D_lc-S-3": 0.0, "lig_0-f-Z-0": 100.0, "lig_0-f-chi-0": 18.3361, "lig_0-f-T-0": 2.0, "lig_0-f-I-0": 2.0, "lig_0-f-S-0": 1.1258, "lig_0-f-Z-1": 96.0, "lig_0-f-chi-1": 17.543999999999997, "lig_0-f-T-1": 2.0, "lig_0-f-I-1": 2.0, "lig_0-f-S-1": 1.1242, "lig_0-f-Z-2": 0.0, "lig_0-f-chi-2": 0.0, "lig_0-f-T-2": 0.0, "lig_0-f-I-2": 0.0, "lig_0-f-S-2": 0.0, "lig_0-f-Z-3": 0.0, "lig_0-f-chi-3": 0.0, "lig_0-f-T-3": 0.0, "lig_0-f-I-3": 0.0, "lig_0-f-S-3": 0.0, "lig_0-D_f-Z-0": 0.0, "lig_0-D_f-chi-0": 0.0, "lig_0-D_f-T-0": 0.0, "lig_0-D_f-I-0": 0.0, "lig_0-D_f-S-0": 0.0, "lig_0-D_f-Z-1": 0.0, "lig_0-D_f-chi-1": 0.0, "lig_0-D_f-T-1": 0.0, "lig_0-D_f-I-1": 0.0, "lig_0-D_f-S-1": 0.0, "lig_0-D_f-Z-2": 0.0, "lig_0-D_f-chi-2": 0.0, "lig_0-D_f-T-2": 0.0, "lig_0-D_f-I-2": 0.0, "lig_0-D_f-S-2": 0.0, "lig_0-D_f-Z-3": 0.0, "lig_0-D_f-chi-3": 0.0, "lig_0-D_f-T-3": 0.0, "lig_0-D_f-I-3": 0.0, "lig_0-D_f-S-3": 0.0, "lig_1-lc-Z-0": 36.0, "lig_1-lc-chi-0": 6.5024999999999995, "lig_1-lc-T-0": 1.0, "lig_1-lc-I-0": 1.0, "lig_1-lc-S-0": 0.5929, "lig_1-lc-Z-1": 48.0, "lig_1-lc-chi-1": 8.771999999999998, "lig_1-lc-T-1": 1.0, "lig_1-lc-I-1": 1.0, "lig_1-lc-S-1": 0.5621, "lig_1-lc-Z-2": 0.0, "lig_1-lc-chi-2": 0.0, "lig_1-lc-T-2": 0.0, "lig_1-lc-I-2": 0.0, "lig_1-lc-S-2": 0.0, "lig_1-lc-Z-3": 0.0, "lig_1-lc-chi-3": 0.0, "lig_1-lc-T-3": 0.0, "lig_1-lc-I-3": 0.0, "lig_1-lc-S-3": 0.0, "lig_1-D_lc-Z-0": 0.0, "lig_1-D_lc-chi-0": 0.0, "lig_1-D_lc-T-0": 0.0, "lig_1-D_lc-I-0": 0.0, "lig_1-D_lc-S-0": 0.0, "lig_1-D_lc-Z-1": -2.0, "lig_1-D_lc-chi-1": -0.8900000000000001, "lig_1-D_lc-T-1": 0.0, "lig_1-D_lc-I-1": 0.0, "lig_1-D_lc-S-1": 0.040000000000000036, "lig_1-D_lc-Z-2": 0.0, "lig_1-D_lc-chi-2": 0.0, "lig_1-D_lc-T-2": 0.0, "lig_1-D_lc-I-2": 0.0, "lig_1-D_lc-S-2": 0.0, "lig_1-D_lc-Z-3": 0.0, "lig_1-D_lc-chi-3": 0.0, "lig_1-D_lc-T-3": 0.0, "lig_1-D_lc-I-3": 0.0, "lig_1-D_lc-S-3": 0.0, "lig_1-f-Z-0": 100.0, "lig_1-f-chi-0": 18.3361, "lig_1-f-T-0": 2.0, "lig_1-f-I-0": 2.0, "lig_1-f-S-0": 1.1258, "lig_1-f-Z-1": 96.0, "lig_1-f-chi-1": 17.543999999999997, "lig_1-f-T-1": 2.0, "lig_1-f-I-1": 2.0, "lig_1-f-S-1": 1.1242, "lig_1-f-Z-2": 0.0, "lig_1-f-chi-2": 0.0, "lig_1-f-T-2": 0.0, "lig_1-f-I-2": 0.0, "lig_1-f-S-2": 0.0, "lig_1-f-Z-3": 0.0, "lig_1-f-chi-3": 0.0, "lig_1-f-T-3": 0.0, "lig_1-f-I-3": 0.0, "lig_1-f-S-3": 0.0, "lig_1-D_f-Z-0": 0.0, "lig_1-D_f-chi-0": 0.0, "lig_1-D_f-T-0": 0.0, "lig_1-D_f-I-0": 0.0, "lig_1-D_f-S-0": 0.0, "lig_1-D_f-Z-1": 0.0, "lig_1-D_f-chi-1": 0.0, "lig_1-D_f-T-1": 0.0, "lig_1-D_f-I-1": 0.0, "lig_1-D_f-S-1": 0.0, "lig_1-D_f-Z-2": 0.0, "lig_1-D_f-chi-2": 0.0, "lig_1-D_f-T-2": 0.0, "lig_1-D_f-I-2": 0.0, "lig_1-D_f-S-2": 0.0, "lig_1-D_f-Z-3": 0.0, "lig_1-D_f-chi-3": 0.0, "lig_1-D_f-T-3": 0.0, "lig_1-D_f-I-3": 0.0, "lig_1-D_f-S-3": 0.0, "lig_2-lc-Z-0": 36.0, "lig_2-lc-chi-0": 6.5024999999999995, "lig_2-lc-T-0": 1.0, "lig_2-lc-I-0": 1.0, "lig_2-lc-S-0": 0.5929, "lig_2-lc-Z-1": 48.0, "lig_2-lc-chi-1": 8.771999999999998, "lig_2-lc-T-1": 1.0, "lig_2-lc-I-1": 1.0, "lig_2-lc-S-1": 0.5621, "lig_2-lc-Z-2": 0.0, "lig_2-lc-chi-2": 0.0, "lig_2-lc-T-2": 0.0, "lig_2-lc-I-2": 0.0, "lig_2-lc-S-2": 0.0, "lig_2-lc-Z-3": 0.0, "lig_2-lc-chi-3": 0.0, "lig_2-lc-T-3": 0.0, "lig_2-lc-I-3": 0.0, "lig_2-lc-S-3": 0.0, "lig_2-D_lc-Z-0": 0.0, "lig_2-D_lc-chi-0": 0.0, "lig_2-D_lc-T-0": 0.0, "lig_2-D_lc-I-0": 0.0, "lig_2-D_lc-S-0": 0.0, "lig_2-D_lc-Z-1": -2.0, "lig_2-D_lc-chi-1": -0.8900000000000001, "lig_2-D_lc-T-1": 0.0, "lig_2-D_lc-I-1": 0.0, "lig_2-D_lc-S-1": 0.040000000000000036, "lig_2-D_lc-Z-2": 0.0, "lig_2-D_lc-chi-2": 0.0, "lig_2-D_lc-T-2": 0.0, "lig_2-D_lc-I-2": 0.0, "lig_2-D_lc-S-2": 0.0, "lig_2-D_lc-Z-3": 0.0, "lig_2-D_lc-chi-3": 0.0, "lig_2-D_lc-T-3": 0.0, "lig_2-D_lc-I-3": 0.0, "lig_2-D_lc-S-3": 0.0, "lig_2-f-Z-0": 100.0, "lig_2-f-chi-0": 18.3361, "lig_2-f-T-0": 2.0, "lig_2-f-I-0": 2.0, "lig_2-f-S-0": 1.1258, "lig_2-f-Z-1": 96.0, "lig_2-f-chi-1": 17.543999999999997, "lig_2-f-T-1": 2.0, "lig_2-f-I-1": 2.0, "lig_2-f-S-1": 1.1242, "lig_2-f-Z-2": 0.0, "lig_2-f-chi-2": 0.0, "lig_2-f-T-2": 0.0, "lig_2-f-I-2": 0.0, "lig_2-f-S-2": 0.0, "lig_2-f-Z-3": 0.0, "lig_2-f-chi-3": 0.0, "lig_2-f-T-3": 0.0, "lig_2-f-I-3": 0.0, "lig_2-f-S-3": 0.0, "lig_2-D_f-Z-0": 0.0, "lig_2-D_f-chi-0": 0.0, "lig_2-D_f-T-0": 0.0, "lig_2-D_f-I-0": 0.0, "lig_2-D_f-S-0": 0.0, "lig_2-D_f-Z-1": 0.0, "lig_2-D_f-chi-1": 0.0, "lig_2-D_f-T-1": 0.0, "lig_2-D_f-I-1": 0.0, "lig_2-D_f-S-1": 0.0, "lig_2-D_f-Z-2": 0.0, "lig_2-D_f-chi-2": 0.0, "lig_2-D_f-T-2": 0.0, "lig_2-D_f-I-2": 0.0, "lig_2-D_f-S-2": 0.0, "lig_2-D_f-Z-3": 0.0, "lig_2-D_f-chi-3": 0.0, "lig_2-D_f-T-3": 0.0, "lig_2-D_f-I-3": 0.0, "lig_2-D_f-S-3": 0.0, "lig_3-lc-Z-0": 36.0, "lig_3-lc-chi-0": 6.5024999999999995, "lig_3-lc-T-0": 1.0, "lig_3-lc-I-0": 1.0, "lig_3-lc-S-0": 0.5929, "lig_3-lc-Z-1": 48.0, "lig_3-lc-chi-1": 8.771999999999998, "lig_3-lc-T-1": 1.0, "lig_3-lc-I-1": 1.0, "lig_3-lc-S-1": 0.5621, "lig_3-lc-Z-2": 0.0, "lig_3-lc-chi-2": 0.0, "lig_3-lc-T-2": 0.0, "lig_3-lc-I-2": 0.0, "lig_3-lc-S-2": 0.0, "lig_3-lc-Z-3": 0.0, "lig_3-lc-chi-3": 0.0, "lig_3-lc-T-3": 0.0, "lig_3-lc-I-3": 0.0, "lig_3-lc-S-3": 0.0, "lig_3-D_lc-Z-0": 0.0, "lig_3-D_lc-chi-0": 0.0, "lig_3-D_lc-T-0": 0.0, "lig_3-D_lc-I-0": 0.0, "lig_3-D_lc-S-0": 0.0, "lig_3-D_lc-Z-1": -2.0, "lig_3-D_lc-chi-1": -0.8900000000000001, "lig_3-D_lc-T-1": 0.0, "lig_3-D_lc-I-1": 0.0, "lig_3-D_lc-S-1": 0.040000000000000036, "lig_3-D_lc-Z-2": 0.0, "lig_3-D_lc-chi-2": 0.0, "lig_3-D_lc-T-2": 0.0, "lig_3-D_lc-I-2": 0.0, "lig_3-D_lc-S-2": 0.0, "lig_3-D_lc-Z-3": 0.0, "lig_3-D_lc-chi-3": 0.0, "lig_3-D_lc-T-3": 0.0, "lig_3-D_lc-I-3": 0.0, "lig_3-D_lc-S-3": 0.0, "lig_3-f-Z-0": 100.0, "lig_3-f-chi-0": 18.3361, "lig_3-f-T-0": 2.0, "lig_3-f-I-0": 2.0, "lig_3-f-S-0": 1.1258, "lig_3-f-Z-1": 96.0, "lig_3-f-chi-1": 17.543999999999997, "lig_3-f-T-1": 2.0, "lig_3-f-I-1": 2.0, "lig_3-f-S-1": 1.1242, "lig_3-f-Z-2": 0.0, "lig_3-f-chi-2": 0.0, "lig_3-f-T-2": 0.0, "lig_3-f-I-2": 0.0, "lig_3-f-S-2": 0.0, "lig_3-f-Z-3": 0.0, "lig_3-f-chi-3": 0.0, "lig_3-f-T-3": 0.0, "lig_3-f-I-3": 0.0, "lig_3-f-S-3": 0.0, "lig_3-D_f-Z-0": 0.0, "lig_3-D_f-chi-0": 0.0, "lig_3-D_f-T-0": 0.0, "lig_3-D_f-I-0": 0.0, "lig_3-D_f-S-0": 0.0, "lig_3-D_f-Z-1": 0.0, "lig_3-D_f-chi-1": 0.0, "lig_3-D_f-T-1": 0.0, "lig_3-D_f-I-1": 0.0, "lig_3-D_f-S-1": 0.0, "lig_3-D_f-Z-2": 0.0, "lig_3-D_f-chi-2": 0.0, "lig_3-D_f-T-2": 0.0, "lig_3-D_f-I-2": 0.0, "lig_3-D_f-S-2": 0.0, "lig_3-D_f-Z-3": 0.0, "lig_3-D_f-chi-3": 0.0, "lig_3-D_f-T-3": 0.0, "lig_3-D_f-I-3": 0.0, "lig_3-D_f-S-3": 0.0, "lig_4-lc-Z-0": 36.0, "lig_4-lc-chi-0": 6.5024999999999995, "lig_4-lc-T-0": 1.0, "lig_4-lc-I-0": 1.0, "lig_4-lc-S-0": 0.5929, "lig_4-lc-Z-1": 48.0, "lig_4-lc-chi-1": 8.771999999999998, "lig_4-lc-T-1": 1.0, "lig_4-lc-I-1": 1.0, "lig_4-lc-S-1": 0.5621, "lig_4-lc-Z-2": 0.0, "lig_4-lc-chi-2": 0.0, "lig_4-lc-T-2": 0.0, "lig_4-lc-I-2": 0.0, "lig_4-lc-S-2": 0.0, "lig_4-lc-Z-3": 0.0, "lig_4-lc-chi-3": 0.0, "lig_4-lc-T-3": 0.0, "lig_4-lc-I-3": 0.0, "lig_4-lc-S-3": 0.0, "lig_4-D_lc-Z-0": 0.0, "lig_4-D_lc-chi-0": 0.0, "lig_4-D_lc-T-0": 0.0, "lig_4-D_lc-I-0": 0.0, "lig_4-D_lc-S-0": 0.0, "lig_4-D_lc-Z-1": -2.0, "lig_4-D_lc-chi-1": -0.8900000000000001, "lig_4-D_lc-T-1": 0.0, "lig_4-D_lc-I-1": 0.0, "lig_4-D_lc-S-1": 0.040000000000000036, "lig_4-D_lc-Z-2": 0.0, "lig_4-D_lc-chi-2": 0.0, "lig_4-D_lc-T-2": 0.0, "lig_4-D_lc-I-2": 0.0, "lig_4-D_lc-S-2": 0.0, "lig_4-D_lc-Z-3": 0.0, "lig_4-D_lc-chi-3": 0.0, "lig_4-D_lc-T-3": 0.0, "lig_4-D_lc-I-3": 0.0, "lig_4-D_lc-S-3": 0.0, "lig_4-f-Z-0": 100.0, "lig_4-f-chi-0": 18.3361, "lig_4-f-T-0": 2.0, "lig_4-f-I-0": 2.0, "lig_4-f-S-0": 1.1258, "lig_4-f-Z-1": 96.0, "lig_4-f-chi-1": 17.543999999999997, "lig_4-f-T-1": 2.0, "lig_4-f-I-1": 2.0, "lig_4-f-S-1": 1.1242, "lig_4-f-Z-2": 0.0, "lig_4-f-chi-2": 0.0, "lig_4-f-T-2": 0.0, "lig_4-f-I-2": 0.0, "lig_4-f-S-2": 0.0, "lig_4-f-Z-3": 0.0, "lig_4-f-chi-3": 0.0, "lig_4-f-T-3": 0.0, "lig_4-f-I-3": 0.0, "lig_4-f-S-3": 0.0, "lig_4-D_f-Z-0": 0.0, "lig_4-D_f-chi-0": 0.0, "lig_4-D_f-T-0": 0.0, "lig_4-D_f-I-0": 0.0, "lig_4-D_f-S-0": 0.0, "lig_4-D_f-Z-1": 0.0, "lig_4-D_f-chi-1": 0.0, "lig_4-D_f-T-1": 0.0, "lig_4-D_f-I-1": 0.0, "lig_4-D_f-S-1": 0.0, "lig_4-D_f-Z-2": 0.0, "lig_4-D_f-chi-2": 0.0, "lig_4-D_f-T-2": 0.0, "lig_4-D_f-I-2": 0.0, "lig_4-D_f-S-2": 0.0, "lig_4-D_f-Z-3": 0.0, "lig_4-D_f-chi-3": 0.0, "lig_4-D_f-T-3": 0.0, "lig_4-D_f-I-3": 0.0, "lig_4-D_f-S-3": 0.0, "lig_5-lc-Z-0": 36.0, "lig_5-lc-chi-0": 6.5024999999999995, "lig_5-lc-T-0": 1.0, "lig_5-lc-I-0": 1.0, "lig_5-lc-S-0": 0.5929, "lig_5-lc-Z-1": 48.0, "lig_5-lc-chi-1": 8.771999999999998, "lig_5-lc-T-1": 1.0, "lig_5-lc-I-1": 1.0, "lig_5-lc-S-1": 0.5621, "lig_5-lc-Z-2": 0.0, "lig_5-lc-chi-2": 0.0, "lig_5-lc-T-2": 0.0, "lig_5-lc-I-2": 0.0, "lig_5-lc-S-2": 0.0, "lig_5-lc-Z-3": 0.0, "lig_5-lc-chi-3": 0.0, "lig_5-lc-T-3": 0.0, "lig_5-lc-I-3": 0.0, "lig_5-lc-S-3": 0.0, "lig_5-D_lc-Z-0": 0.0, "lig_5-D_lc-chi-0": 0.0, "lig_5-D_lc-T-0": 0.0, "lig_5-D_lc-I-0": 0.0, "lig_5-D_lc-S-0": 0.0, "lig_5-D_lc-Z-1": -2.0, "lig_5-D_lc-chi-1": -0.8900000000000001, "lig_5-D_lc-T-1": 0.0, "lig_5-D_lc-I-1": 0.0, "lig_5-D_lc-S-1": 0.040000000000000036, "lig_5-D_lc-Z-2": 0.0, "lig_5-D_lc-chi-2": 0.0, "lig_5-D_lc-T-2": 0.0, "lig_5-D_lc-I-2": 0.0, "lig_5-D_lc-S-2": 0.0, "lig_5-D_lc-Z-3": 0.0, "lig_5-D_lc-chi-3": 0.0, "lig_5-D_lc-T-3": 0.0, "lig_5-D_lc-I-3": 0.0, "lig_5-D_lc-S-3": 0.0, "lig_5-f-Z-0": 100.0, "lig_5-f-chi-0": 18.3361, "lig_5-f-T-0": 2.0, "lig_5-f-I-0": 2.0, "lig_5-f-S-0": 1.1258, "lig_5-f-Z-1": 96.0, "lig_5-f-chi-1": 17.543999999999997, "lig_5-f-T-1": 2.0, "lig_5-f-I-1": 2.0, "lig_5-f-S-1": 1.1242, "lig_5-f-Z-2": 0.0, "lig_5-f-chi-2": 0.0, "lig_5-f-T-2": 0.0, "lig_5-f-I-2": 0.0, "lig_5-f-S-2": 0.0, "lig_5-f-Z-3": 0.0, "lig_5-f-chi-3": 0.0, "lig_5-f-T-3": 0.0, "lig_5-f-I-3": 0.0, "lig_5-f-S-3": 0.0, "lig_5-D_f-Z-0": 0.0, "lig_5-D_f-chi-0": 0.0, "lig_5-D_f-T-0": 0.0, "lig_5-D_f-I-0": 0.0, "lig_5-D_f-S-0": 0.0, "lig_5-D_f-Z-1": 0.0, "lig_5-D_f-chi-1": 0.0, "lig_5-D_f-T-1": 0.0, "lig_5-D_f-I-1": 0.0, "lig_5-D_f-S-1": 0.0, "lig_5-D_f-Z-2": 0.0, "lig_5-D_f-chi-2": 0.0, "lig_5-D_f-T-2": 0.0, "lig_5-D_f-I-2": 0.0, "lig_5-D_f-S-2": 0.0, "lig_5-D_f-Z-3": 0.0, "lig_5-D_f-chi-3": 0.0, "lig_5-D_f-T-3": 0.0, "lig_5-D_f-I-3": 0.0, "lig_5-D_f-S-3": 0.0} diff --git a/tests/testresources/refs/informatics/lig_racs_mn_furan_water_ammonia_furan_water_ammonia.json b/tests/testresources/refs/informatics/lig_racs_mn_furan_water_ammonia_furan_water_ammonia.json index c291c341..d04ba6cc 100644 --- a/tests/testresources/refs/informatics/lig_racs_mn_furan_water_ammonia_furan_water_ammonia.json +++ b/tests/testresources/refs/informatics/lig_racs_mn_furan_water_ammonia_furan_water_ammonia.json @@ -1 +1 @@ -{"lig_0-lc_P-Z-0": 64.0, "lig_0-lc_P-chi-0": 11.833599999999999, "lig_0-lc_P-T-0": 4.0, "lig_0-lc_P-I-0": 1.0, "lig_0-lc_P-S-0": 0.5328999999999999, "lig_0-lc_P-Z-1": 96.0, "lig_0-lc_P-chi-1": 17.543999999999997, "lig_0-lc_P-T-1": 12.0, "lig_0-lc_P-I-1": 2.0, "lig_0-lc_P-S-1": 1.1242, "lig_0-lc_P-Z-2": 112.0, "lig_0-lc_P-chi-2": 32.68, "lig_0-lc_P-T-2": 16.0, "lig_0-lc_P-I-2": 4.0, "lig_0-lc_P-S-2": 1.6644, "lig_0-lc_P-Z-3": 16.0, "lig_0-lc_P-chi-3": 15.136000000000001, "lig_0-lc_P-T-3": 4.0, "lig_0-lc_P-I-3": 2.0, "lig_0-lc_P-S-3": 0.5402, "lig_0-lc_D-Z-0": 0.0, "lig_0-lc_D-chi-0": 0.0, "lig_0-lc_D-T-0": 0.0, "lig_0-lc_D-I-0": 0.0, "lig_0-lc_D-S-0": 0.0, "lig_0-lc_D-Z-1": 4.0, "lig_0-lc_D-chi-1": 1.7800000000000002, "lig_0-lc_D-T-1": -2.0, "lig_0-lc_D-I-1": 0.0, "lig_0-lc_D-S-1": -0.08000000000000007, "lig_0-lc_D-Z-2": 18.0, "lig_0-lc_D-chi-2": 4.26, "lig_0-lc_D-T-2": 0.0, "lig_0-lc_D-I-2": 0.0, "lig_0-lc_D-S-2": 0.6399999999999999, "lig_0-lc_D-Z-3": 14.0, "lig_0-lc_D-chi-3": 2.4799999999999995, "lig_0-lc_D-T-3": 2.0, "lig_0-lc_D-I-3": 0.0, "lig_0-lc_D-S-3": 0.72, "lig_0-f_P-Z-0": 212.0, "lig_0-f_P-chi-0": 57.20360000000001, "lig_0-f_P-T-0": 44.0, "lig_0-f_P-I-0": 9.0, "lig_0-f_P-S-0": 3.452099999999999, "lig_0-f_P-Z-1": 456.0, "lig_0-f_P-chi-1": 118.98299999999998, "lig_0-f_P-T-1": 102.0, "lig_0-f_P-I-1": 18.0, "lig_0-f_P-S-1": 8.085000000000003, "lig_0-f_P-Z-2": 512.0, "lig_0-f_P-chi-2": 171.69500000000008, "lig_0-f_P-T-2": 122.0, "lig_0-f_P-I-2": 26.0, "lig_0-f_P-S-2": 10.305000000000003, "lig_0-f_P-Z-3": 110.0, "lig_0-f_P-chi-3": 126.632, "lig_0-f_P-T-3": 50.0, "lig_0-f_P-I-3": 22.0, "lig_0-f_P-S-3": 5.320599999999999, "lig_0-f_D-Z-0": 0.0, "lig_0-f_D-chi-0": 0.0, "lig_0-f_D-T-0": 0.0, "lig_0-f_D-I-0": 0.0, "lig_0-f_D-S-0": 0.0, "lig_0-f_D-Z-1": 0.0, "lig_0-f_D-chi-1": 0.0, "lig_0-f_D-T-1": 0.0, "lig_0-f_D-I-1": 0.0, "lig_0-f_D-S-1": 1.1102230246251565e-16, "lig_0-f_D-Z-2": 0.0, "lig_0-f_D-chi-2": -8.881784197001252e-16, "lig_0-f_D-T-2": 0.0, "lig_0-f_D-I-2": 0.0, "lig_0-f_D-S-2": 1.1102230246251565e-16, "lig_0-f_D-Z-3": 0.0, "lig_0-f_D-chi-3": 0.0, "lig_0-f_D-T-3": 0.0, "lig_0-f_D-I-3": 0.0, "lig_0-f_D-S-3": 1.1102230246251565e-16, "lig_1-lc_P-Z-0": 64.0, "lig_1-lc_P-chi-0": 11.833599999999999, "lig_1-lc_P-T-0": 4.0, "lig_1-lc_P-I-0": 1.0, "lig_1-lc_P-S-0": 0.5328999999999999, "lig_1-lc_P-Z-1": 16.0, "lig_1-lc_P-chi-1": 15.136000000000001, "lig_1-lc_P-T-1": 4.0, "lig_1-lc_P-I-1": 2.0, "lig_1-lc_P-S-1": 0.5402, "lig_1-lc_P-Z-2": 0.0, "lig_1-lc_P-chi-2": 0.0, "lig_1-lc_P-T-2": 0.0, "lig_1-lc_P-I-2": 0.0, "lig_1-lc_P-S-2": 0.0, "lig_1-lc_P-Z-3": 0.0, "lig_1-lc_P-chi-3": 0.0, "lig_1-lc_P-T-3": 0.0, "lig_1-lc_P-I-3": 0.0, "lig_1-lc_P-S-3": 0.0, "lig_1-lc_D-Z-0": 0.0, "lig_1-lc_D-chi-0": 0.0, "lig_1-lc_D-T-0": 0.0, "lig_1-lc_D-I-0": 0.0, "lig_1-lc_D-S-0": 0.0, "lig_1-lc_D-Z-1": 14.0, "lig_1-lc_D-chi-1": 2.4799999999999995, "lig_1-lc_D-T-1": 2.0, "lig_1-lc_D-I-1": 0.0, "lig_1-lc_D-S-1": 0.72, "lig_1-lc_D-Z-2": 0.0, "lig_1-lc_D-chi-2": 0.0, "lig_1-lc_D-T-2": 0.0, "lig_1-lc_D-I-2": 0.0, "lig_1-lc_D-S-2": 0.0, "lig_1-lc_D-Z-3": 0.0, "lig_1-lc_D-chi-3": 0.0, "lig_1-lc_D-T-3": 0.0, "lig_1-lc_D-I-3": 0.0, "lig_1-lc_D-S-3": 0.0, "lig_1-f_P-Z-0": 66.0, "lig_1-f_P-chi-0": 21.5136, "lig_1-f_P-T-0": 6.0, "lig_1-f_P-I-0": 3.0, "lig_1-f_P-S-0": 0.8067, "lig_1-f_P-Z-1": 32.0, "lig_1-f_P-chi-1": 30.272000000000002, "lig_1-f_P-T-1": 8.0, "lig_1-f_P-I-1": 4.0, "lig_1-f_P-S-1": 1.0804, "lig_1-f_P-Z-2": 2.0, "lig_1-f_P-chi-2": 9.680000000000001, "lig_1-f_P-T-2": 2.0, "lig_1-f_P-I-2": 2.0, "lig_1-f_P-S-2": 0.2738, "lig_1-f_P-Z-3": 0.0, "lig_1-f_P-chi-3": 0.0, "lig_1-f_P-T-3": 0.0, "lig_1-f_P-I-3": 0.0, "lig_1-f_P-S-3": 0.0, "lig_1-f_D-Z-0": 0.0, "lig_1-f_D-chi-0": 0.0, "lig_1-f_D-T-0": 0.0, "lig_1-f_D-I-0": 0.0, "lig_1-f_D-S-0": 0.0, "lig_1-f_D-Z-1": 0.0, "lig_1-f_D-chi-1": 0.0, "lig_1-f_D-T-1": 0.0, "lig_1-f_D-I-1": 0.0, "lig_1-f_D-S-1": 0.0, "lig_1-f_D-Z-2": 0.0, "lig_1-f_D-chi-2": 0.0, "lig_1-f_D-T-2": 0.0, "lig_1-f_D-I-2": 0.0, "lig_1-f_D-S-2": 0.0, "lig_1-f_D-Z-3": 0.0, "lig_1-f_D-chi-3": 0.0, "lig_1-f_D-T-3": 0.0, "lig_1-f_D-I-3": 0.0, "lig_1-f_D-S-3": 0.0, "lig_2-lc_P-Z-0": 49.0, "lig_2-lc_P-chi-0": 9.2416, "lig_2-lc_P-T-0": 9.0, "lig_2-lc_P-I-0": 1.0, "lig_2-lc_P-S-0": 0.5625, "lig_2-lc_P-Z-1": 21.0, "lig_2-lc_P-chi-1": 20.064, "lig_2-lc_P-T-1": 9.0, "lig_2-lc_P-I-1": 3.0, "lig_2-lc_P-S-1": 0.8324999999999999, "lig_2-lc_P-Z-2": 0.0, "lig_2-lc_P-chi-2": 0.0, "lig_2-lc_P-T-2": 0.0, "lig_2-lc_P-I-2": 0.0, "lig_2-lc_P-S-2": 0.0, "lig_2-lc_P-Z-3": 0.0, "lig_2-lc_P-chi-3": 0.0, "lig_2-lc_P-T-3": 0.0, "lig_2-lc_P-I-3": 0.0, "lig_2-lc_P-S-3": 0.0, "lig_2-lc_D-Z-0": 0.0, "lig_2-lc_D-chi-0": 0.0, "lig_2-lc_D-T-0": 0.0, "lig_2-lc_D-I-0": 0.0, "lig_2-lc_D-S-0": 0.0, "lig_2-lc_D-Z-1": 18.0, "lig_2-lc_D-chi-1": 2.5199999999999996, "lig_2-lc_D-T-1": 6.0, "lig_2-lc_D-I-1": 0.0, "lig_2-lc_D-S-1": 1.1400000000000001, "lig_2-lc_D-Z-2": 0.0, "lig_2-lc_D-chi-2": 0.0, "lig_2-lc_D-T-2": 0.0, "lig_2-lc_D-I-2": 0.0, "lig_2-lc_D-S-2": 0.0, "lig_2-lc_D-Z-3": 0.0, "lig_2-lc_D-chi-3": 0.0, "lig_2-lc_D-T-3": 0.0, "lig_2-lc_D-I-3": 0.0, "lig_2-lc_D-S-3": 0.0, "lig_2-f_P-Z-0": 52.0, "lig_2-f_P-chi-0": 23.7616, "lig_2-f_P-T-0": 12.0, "lig_2-f_P-I-0": 4.0, "lig_2-f_P-S-0": 0.9732000000000001, "lig_2-f_P-Z-1": 42.0, "lig_2-f_P-chi-1": 40.12800000000001, "lig_2-f_P-T-1": 18.0, "lig_2-f_P-I-1": 6.0, "lig_2-f_P-S-1": 1.6649999999999996, "lig_2-f_P-Z-2": 6.0, "lig_2-f_P-chi-2": 29.040000000000003, "lig_2-f_P-T-2": 6.0, "lig_2-f_P-I-2": 6.0, "lig_2-f_P-S-2": 0.8214, "lig_2-f_P-Z-3": 0.0, "lig_2-f_P-chi-3": 0.0, "lig_2-f_P-T-3": 0.0, "lig_2-f_P-I-3": 0.0, "lig_2-f_P-S-3": 0.0, "lig_2-f_D-Z-0": 0.0, "lig_2-f_D-chi-0": 0.0, "lig_2-f_D-T-0": 0.0, "lig_2-f_D-I-0": 0.0, "lig_2-f_D-S-0": 0.0, "lig_2-f_D-Z-1": 0.0, "lig_2-f_D-chi-1": 0.0, "lig_2-f_D-T-1": 0.0, "lig_2-f_D-I-1": 0.0, "lig_2-f_D-S-1": 0.0, "lig_2-f_D-Z-2": 0.0, "lig_2-f_D-chi-2": 0.0, "lig_2-f_D-T-2": 0.0, "lig_2-f_D-I-2": 0.0, "lig_2-f_D-S-2": 0.0, "lig_2-f_D-Z-3": 0.0, "lig_2-f_D-chi-3": 0.0, "lig_2-f_D-T-3": 0.0, "lig_2-f_D-I-3": 0.0, "lig_2-f_D-S-3": 0.0, "lig_3-lc_P-Z-0": 64.0, "lig_3-lc_P-chi-0": 11.833599999999999, "lig_3-lc_P-T-0": 4.0, "lig_3-lc_P-I-0": 1.0, "lig_3-lc_P-S-0": 0.5328999999999999, "lig_3-lc_P-Z-1": 96.0, "lig_3-lc_P-chi-1": 17.543999999999997, "lig_3-lc_P-T-1": 12.0, "lig_3-lc_P-I-1": 2.0, "lig_3-lc_P-S-1": 1.1242, "lig_3-lc_P-Z-2": 112.0, "lig_3-lc_P-chi-2": 32.68, "lig_3-lc_P-T-2": 16.0, "lig_3-lc_P-I-2": 4.0, "lig_3-lc_P-S-2": 1.6644, "lig_3-lc_P-Z-3": 16.0, "lig_3-lc_P-chi-3": 15.136000000000001, "lig_3-lc_P-T-3": 4.0, "lig_3-lc_P-I-3": 2.0, "lig_3-lc_P-S-3": 0.5402, "lig_3-lc_D-Z-0": 0.0, "lig_3-lc_D-chi-0": 0.0, "lig_3-lc_D-T-0": 0.0, "lig_3-lc_D-I-0": 0.0, "lig_3-lc_D-S-0": 0.0, "lig_3-lc_D-Z-1": 4.0, "lig_3-lc_D-chi-1": 1.7800000000000002, "lig_3-lc_D-T-1": -2.0, "lig_3-lc_D-I-1": 0.0, "lig_3-lc_D-S-1": -0.08000000000000007, "lig_3-lc_D-Z-2": 18.0, "lig_3-lc_D-chi-2": 4.26, "lig_3-lc_D-T-2": 0.0, "lig_3-lc_D-I-2": 0.0, "lig_3-lc_D-S-2": 0.6399999999999999, "lig_3-lc_D-Z-3": 14.0, "lig_3-lc_D-chi-3": 2.4799999999999995, "lig_3-lc_D-T-3": 2.0, "lig_3-lc_D-I-3": 0.0, "lig_3-lc_D-S-3": 0.72, "lig_3-f_P-Z-0": 212.0, "lig_3-f_P-chi-0": 57.20360000000001, "lig_3-f_P-T-0": 44.0, "lig_3-f_P-I-0": 9.0, "lig_3-f_P-S-0": 3.452099999999999, "lig_3-f_P-Z-1": 456.0, "lig_3-f_P-chi-1": 118.98299999999998, "lig_3-f_P-T-1": 102.0, "lig_3-f_P-I-1": 18.0, "lig_3-f_P-S-1": 8.085000000000003, "lig_3-f_P-Z-2": 512.0, "lig_3-f_P-chi-2": 171.69500000000008, "lig_3-f_P-T-2": 122.0, "lig_3-f_P-I-2": 26.0, "lig_3-f_P-S-2": 10.305000000000003, "lig_3-f_P-Z-3": 110.0, "lig_3-f_P-chi-3": 126.632, "lig_3-f_P-T-3": 50.0, "lig_3-f_P-I-3": 22.0, "lig_3-f_P-S-3": 5.320599999999999, "lig_3-f_D-Z-0": 0.0, "lig_3-f_D-chi-0": 0.0, "lig_3-f_D-T-0": 0.0, "lig_3-f_D-I-0": 0.0, "lig_3-f_D-S-0": 0.0, "lig_3-f_D-Z-1": 0.0, "lig_3-f_D-chi-1": 0.0, "lig_3-f_D-T-1": 0.0, "lig_3-f_D-I-1": 0.0, "lig_3-f_D-S-1": 1.1102230246251565e-16, "lig_3-f_D-Z-2": 0.0, "lig_3-f_D-chi-2": -8.881784197001252e-16, "lig_3-f_D-T-2": 0.0, "lig_3-f_D-I-2": 0.0, "lig_3-f_D-S-2": 1.1102230246251565e-16, "lig_3-f_D-Z-3": 0.0, "lig_3-f_D-chi-3": 0.0, "lig_3-f_D-T-3": 0.0, "lig_3-f_D-I-3": 0.0, "lig_3-f_D-S-3": 1.1102230246251565e-16, "lig_4-lc_P-Z-0": 64.0, "lig_4-lc_P-chi-0": 11.833599999999999, "lig_4-lc_P-T-0": 4.0, "lig_4-lc_P-I-0": 1.0, "lig_4-lc_P-S-0": 0.5328999999999999, "lig_4-lc_P-Z-1": 16.0, "lig_4-lc_P-chi-1": 15.136000000000001, "lig_4-lc_P-T-1": 4.0, "lig_4-lc_P-I-1": 2.0, "lig_4-lc_P-S-1": 0.5402, "lig_4-lc_P-Z-2": 0.0, "lig_4-lc_P-chi-2": 0.0, "lig_4-lc_P-T-2": 0.0, "lig_4-lc_P-I-2": 0.0, "lig_4-lc_P-S-2": 0.0, "lig_4-lc_P-Z-3": 0.0, "lig_4-lc_P-chi-3": 0.0, "lig_4-lc_P-T-3": 0.0, "lig_4-lc_P-I-3": 0.0, "lig_4-lc_P-S-3": 0.0, "lig_4-lc_D-Z-0": 0.0, "lig_4-lc_D-chi-0": 0.0, "lig_4-lc_D-T-0": 0.0, "lig_4-lc_D-I-0": 0.0, "lig_4-lc_D-S-0": 0.0, "lig_4-lc_D-Z-1": 14.0, "lig_4-lc_D-chi-1": 2.4799999999999995, "lig_4-lc_D-T-1": 2.0, "lig_4-lc_D-I-1": 0.0, "lig_4-lc_D-S-1": 0.72, "lig_4-lc_D-Z-2": 0.0, "lig_4-lc_D-chi-2": 0.0, "lig_4-lc_D-T-2": 0.0, "lig_4-lc_D-I-2": 0.0, "lig_4-lc_D-S-2": 0.0, "lig_4-lc_D-Z-3": 0.0, "lig_4-lc_D-chi-3": 0.0, "lig_4-lc_D-T-3": 0.0, "lig_4-lc_D-I-3": 0.0, "lig_4-lc_D-S-3": 0.0, "lig_4-f_P-Z-0": 66.0, "lig_4-f_P-chi-0": 21.5136, "lig_4-f_P-T-0": 6.0, "lig_4-f_P-I-0": 3.0, "lig_4-f_P-S-0": 0.8067, "lig_4-f_P-Z-1": 32.0, "lig_4-f_P-chi-1": 30.272000000000002, "lig_4-f_P-T-1": 8.0, "lig_4-f_P-I-1": 4.0, "lig_4-f_P-S-1": 1.0804, "lig_4-f_P-Z-2": 2.0, "lig_4-f_P-chi-2": 9.680000000000001, "lig_4-f_P-T-2": 2.0, "lig_4-f_P-I-2": 2.0, "lig_4-f_P-S-2": 0.2738, "lig_4-f_P-Z-3": 0.0, "lig_4-f_P-chi-3": 0.0, "lig_4-f_P-T-3": 0.0, "lig_4-f_P-I-3": 0.0, "lig_4-f_P-S-3": 0.0, "lig_4-f_D-Z-0": 0.0, "lig_4-f_D-chi-0": 0.0, "lig_4-f_D-T-0": 0.0, "lig_4-f_D-I-0": 0.0, "lig_4-f_D-S-0": 0.0, "lig_4-f_D-Z-1": 0.0, "lig_4-f_D-chi-1": 0.0, "lig_4-f_D-T-1": 0.0, "lig_4-f_D-I-1": 0.0, "lig_4-f_D-S-1": 0.0, "lig_4-f_D-Z-2": 0.0, "lig_4-f_D-chi-2": 0.0, "lig_4-f_D-T-2": 0.0, "lig_4-f_D-I-2": 0.0, "lig_4-f_D-S-2": 0.0, "lig_4-f_D-Z-3": 0.0, "lig_4-f_D-chi-3": 0.0, "lig_4-f_D-T-3": 0.0, "lig_4-f_D-I-3": 0.0, "lig_4-f_D-S-3": 0.0, "lig_5-lc_P-Z-0": 49.0, "lig_5-lc_P-chi-0": 9.2416, "lig_5-lc_P-T-0": 9.0, "lig_5-lc_P-I-0": 1.0, "lig_5-lc_P-S-0": 0.5625, "lig_5-lc_P-Z-1": 21.0, "lig_5-lc_P-chi-1": 20.064, "lig_5-lc_P-T-1": 9.0, "lig_5-lc_P-I-1": 3.0, "lig_5-lc_P-S-1": 0.8324999999999999, "lig_5-lc_P-Z-2": 0.0, "lig_5-lc_P-chi-2": 0.0, "lig_5-lc_P-T-2": 0.0, "lig_5-lc_P-I-2": 0.0, "lig_5-lc_P-S-2": 0.0, "lig_5-lc_P-Z-3": 0.0, "lig_5-lc_P-chi-3": 0.0, "lig_5-lc_P-T-3": 0.0, "lig_5-lc_P-I-3": 0.0, "lig_5-lc_P-S-3": 0.0, "lig_5-lc_D-Z-0": 0.0, "lig_5-lc_D-chi-0": 0.0, "lig_5-lc_D-T-0": 0.0, "lig_5-lc_D-I-0": 0.0, "lig_5-lc_D-S-0": 0.0, "lig_5-lc_D-Z-1": 18.0, "lig_5-lc_D-chi-1": 2.5199999999999996, "lig_5-lc_D-T-1": 6.0, "lig_5-lc_D-I-1": 0.0, "lig_5-lc_D-S-1": 1.1400000000000001, "lig_5-lc_D-Z-2": 0.0, "lig_5-lc_D-chi-2": 0.0, "lig_5-lc_D-T-2": 0.0, "lig_5-lc_D-I-2": 0.0, "lig_5-lc_D-S-2": 0.0, "lig_5-lc_D-Z-3": 0.0, "lig_5-lc_D-chi-3": 0.0, "lig_5-lc_D-T-3": 0.0, "lig_5-lc_D-I-3": 0.0, "lig_5-lc_D-S-3": 0.0, "lig_5-f_P-Z-0": 52.0, "lig_5-f_P-chi-0": 23.7616, "lig_5-f_P-T-0": 12.0, "lig_5-f_P-I-0": 4.0, "lig_5-f_P-S-0": 0.9732000000000001, "lig_5-f_P-Z-1": 42.0, "lig_5-f_P-chi-1": 40.12800000000001, "lig_5-f_P-T-1": 18.0, "lig_5-f_P-I-1": 6.0, "lig_5-f_P-S-1": 1.6649999999999996, "lig_5-f_P-Z-2": 6.0, "lig_5-f_P-chi-2": 29.040000000000003, "lig_5-f_P-T-2": 6.0, "lig_5-f_P-I-2": 6.0, "lig_5-f_P-S-2": 0.8214, "lig_5-f_P-Z-3": 0.0, "lig_5-f_P-chi-3": 0.0, "lig_5-f_P-T-3": 0.0, "lig_5-f_P-I-3": 0.0, "lig_5-f_P-S-3": 0.0, "lig_5-f_D-Z-0": 0.0, "lig_5-f_D-chi-0": 0.0, "lig_5-f_D-T-0": 0.0, "lig_5-f_D-I-0": 0.0, "lig_5-f_D-S-0": 0.0, "lig_5-f_D-Z-1": 0.0, "lig_5-f_D-chi-1": 0.0, "lig_5-f_D-T-1": 0.0, "lig_5-f_D-I-1": 0.0, "lig_5-f_D-S-1": 0.0, "lig_5-f_D-Z-2": 0.0, "lig_5-f_D-chi-2": 0.0, "lig_5-f_D-T-2": 0.0, "lig_5-f_D-I-2": 0.0, "lig_5-f_D-S-2": 0.0, "lig_5-f_D-Z-3": 0.0, "lig_5-f_D-chi-3": 0.0, "lig_5-f_D-T-3": 0.0, "lig_5-f_D-I-3": 0.0, "lig_5-f_D-S-3": 0.0} +{"lig_0-lc-Z-0": 64.0, "lig_0-lc-chi-0": 11.833599999999999, "lig_0-lc-T-0": 4.0, "lig_0-lc-I-0": 1.0, "lig_0-lc-S-0": 0.5328999999999999, "lig_0-lc-Z-1": 96.0, "lig_0-lc-chi-1": 17.543999999999997, "lig_0-lc-T-1": 12.0, "lig_0-lc-I-1": 2.0, "lig_0-lc-S-1": 1.1242, "lig_0-lc-Z-2": 112.0, "lig_0-lc-chi-2": 32.68, "lig_0-lc-T-2": 16.0, "lig_0-lc-I-2": 4.0, "lig_0-lc-S-2": 1.6644, "lig_0-lc-Z-3": 16.0, "lig_0-lc-chi-3": 15.136000000000001, "lig_0-lc-T-3": 4.0, "lig_0-lc-I-3": 2.0, "lig_0-lc-S-3": 0.5402, "lig_0-D_lc-Z-0": 0.0, "lig_0-D_lc-chi-0": 0.0, "lig_0-D_lc-T-0": 0.0, "lig_0-D_lc-I-0": 0.0, "lig_0-D_lc-S-0": 0.0, "lig_0-D_lc-Z-1": 4.0, "lig_0-D_lc-chi-1": 1.7800000000000002, "lig_0-D_lc-T-1": -2.0, "lig_0-D_lc-I-1": 0.0, "lig_0-D_lc-S-1": -0.08000000000000007, "lig_0-D_lc-Z-2": 18.0, "lig_0-D_lc-chi-2": 4.26, "lig_0-D_lc-T-2": 0.0, "lig_0-D_lc-I-2": 0.0, "lig_0-D_lc-S-2": 0.6399999999999999, "lig_0-D_lc-Z-3": 14.0, "lig_0-D_lc-chi-3": 2.4799999999999995, "lig_0-D_lc-T-3": 2.0, "lig_0-D_lc-I-3": 0.0, "lig_0-D_lc-S-3": 0.72, "lig_0-f-Z-0": 212.0, "lig_0-f-chi-0": 57.20360000000001, "lig_0-f-T-0": 44.0, "lig_0-f-I-0": 9.0, "lig_0-f-S-0": 3.452099999999999, "lig_0-f-Z-1": 456.0, "lig_0-f-chi-1": 118.98299999999998, "lig_0-f-T-1": 102.0, "lig_0-f-I-1": 18.0, "lig_0-f-S-1": 8.085000000000003, "lig_0-f-Z-2": 512.0, "lig_0-f-chi-2": 171.69500000000008, "lig_0-f-T-2": 122.0, "lig_0-f-I-2": 26.0, "lig_0-f-S-2": 10.305000000000003, "lig_0-f-Z-3": 110.0, "lig_0-f-chi-3": 126.632, "lig_0-f-T-3": 50.0, "lig_0-f-I-3": 22.0, "lig_0-f-S-3": 5.320599999999999, "lig_0-D_f-Z-0": 0.0, "lig_0-D_f-chi-0": 0.0, "lig_0-D_f-T-0": 0.0, "lig_0-D_f-I-0": 0.0, "lig_0-D_f-S-0": 0.0, "lig_0-D_f-Z-1": 0.0, "lig_0-D_f-chi-1": 0.0, "lig_0-D_f-T-1": 0.0, "lig_0-D_f-I-1": 0.0, "lig_0-D_f-S-1": 1.1102230246251565e-16, "lig_0-D_f-Z-2": 0.0, "lig_0-D_f-chi-2": -8.881784197001252e-16, "lig_0-D_f-T-2": 0.0, "lig_0-D_f-I-2": 0.0, "lig_0-D_f-S-2": 1.1102230246251565e-16, "lig_0-D_f-Z-3": 0.0, "lig_0-D_f-chi-3": 0.0, "lig_0-D_f-T-3": 0.0, "lig_0-D_f-I-3": 0.0, "lig_0-D_f-S-3": 1.1102230246251565e-16, "lig_1-lc-Z-0": 64.0, "lig_1-lc-chi-0": 11.833599999999999, "lig_1-lc-T-0": 4.0, "lig_1-lc-I-0": 1.0, "lig_1-lc-S-0": 0.5328999999999999, "lig_1-lc-Z-1": 16.0, "lig_1-lc-chi-1": 15.136000000000001, "lig_1-lc-T-1": 4.0, "lig_1-lc-I-1": 2.0, "lig_1-lc-S-1": 0.5402, "lig_1-lc-Z-2": 0.0, "lig_1-lc-chi-2": 0.0, "lig_1-lc-T-2": 0.0, "lig_1-lc-I-2": 0.0, "lig_1-lc-S-2": 0.0, "lig_1-lc-Z-3": 0.0, "lig_1-lc-chi-3": 0.0, "lig_1-lc-T-3": 0.0, "lig_1-lc-I-3": 0.0, "lig_1-lc-S-3": 0.0, "lig_1-D_lc-Z-0": 0.0, "lig_1-D_lc-chi-0": 0.0, "lig_1-D_lc-T-0": 0.0, "lig_1-D_lc-I-0": 0.0, "lig_1-D_lc-S-0": 0.0, "lig_1-D_lc-Z-1": 14.0, "lig_1-D_lc-chi-1": 2.4799999999999995, "lig_1-D_lc-T-1": 2.0, "lig_1-D_lc-I-1": 0.0, "lig_1-D_lc-S-1": 0.72, "lig_1-D_lc-Z-2": 0.0, "lig_1-D_lc-chi-2": 0.0, "lig_1-D_lc-T-2": 0.0, "lig_1-D_lc-I-2": 0.0, "lig_1-D_lc-S-2": 0.0, "lig_1-D_lc-Z-3": 0.0, "lig_1-D_lc-chi-3": 0.0, "lig_1-D_lc-T-3": 0.0, "lig_1-D_lc-I-3": 0.0, "lig_1-D_lc-S-3": 0.0, "lig_1-f-Z-0": 66.0, "lig_1-f-chi-0": 21.5136, "lig_1-f-T-0": 6.0, "lig_1-f-I-0": 3.0, "lig_1-f-S-0": 0.8067, "lig_1-f-Z-1": 32.0, "lig_1-f-chi-1": 30.272000000000002, "lig_1-f-T-1": 8.0, "lig_1-f-I-1": 4.0, "lig_1-f-S-1": 1.0804, "lig_1-f-Z-2": 2.0, "lig_1-f-chi-2": 9.680000000000001, "lig_1-f-T-2": 2.0, "lig_1-f-I-2": 2.0, "lig_1-f-S-2": 0.2738, "lig_1-f-Z-3": 0.0, "lig_1-f-chi-3": 0.0, "lig_1-f-T-3": 0.0, "lig_1-f-I-3": 0.0, "lig_1-f-S-3": 0.0, "lig_1-D_f-Z-0": 0.0, "lig_1-D_f-chi-0": 0.0, "lig_1-D_f-T-0": 0.0, "lig_1-D_f-I-0": 0.0, "lig_1-D_f-S-0": 0.0, "lig_1-D_f-Z-1": 0.0, "lig_1-D_f-chi-1": 0.0, "lig_1-D_f-T-1": 0.0, "lig_1-D_f-I-1": 0.0, "lig_1-D_f-S-1": 0.0, "lig_1-D_f-Z-2": 0.0, "lig_1-D_f-chi-2": 0.0, "lig_1-D_f-T-2": 0.0, "lig_1-D_f-I-2": 0.0, "lig_1-D_f-S-2": 0.0, "lig_1-D_f-Z-3": 0.0, "lig_1-D_f-chi-3": 0.0, "lig_1-D_f-T-3": 0.0, "lig_1-D_f-I-3": 0.0, "lig_1-D_f-S-3": 0.0, "lig_2-lc-Z-0": 49.0, "lig_2-lc-chi-0": 9.2416, "lig_2-lc-T-0": 9.0, "lig_2-lc-I-0": 1.0, "lig_2-lc-S-0": 0.5625, "lig_2-lc-Z-1": 21.0, "lig_2-lc-chi-1": 20.064, "lig_2-lc-T-1": 9.0, "lig_2-lc-I-1": 3.0, "lig_2-lc-S-1": 0.8324999999999999, "lig_2-lc-Z-2": 0.0, "lig_2-lc-chi-2": 0.0, "lig_2-lc-T-2": 0.0, "lig_2-lc-I-2": 0.0, "lig_2-lc-S-2": 0.0, "lig_2-lc-Z-3": 0.0, "lig_2-lc-chi-3": 0.0, "lig_2-lc-T-3": 0.0, "lig_2-lc-I-3": 0.0, "lig_2-lc-S-3": 0.0, "lig_2-D_lc-Z-0": 0.0, "lig_2-D_lc-chi-0": 0.0, "lig_2-D_lc-T-0": 0.0, "lig_2-D_lc-I-0": 0.0, "lig_2-D_lc-S-0": 0.0, "lig_2-D_lc-Z-1": 18.0, "lig_2-D_lc-chi-1": 2.5199999999999996, "lig_2-D_lc-T-1": 6.0, "lig_2-D_lc-I-1": 0.0, "lig_2-D_lc-S-1": 1.1400000000000001, "lig_2-D_lc-Z-2": 0.0, "lig_2-D_lc-chi-2": 0.0, "lig_2-D_lc-T-2": 0.0, "lig_2-D_lc-I-2": 0.0, "lig_2-D_lc-S-2": 0.0, "lig_2-D_lc-Z-3": 0.0, "lig_2-D_lc-chi-3": 0.0, "lig_2-D_lc-T-3": 0.0, "lig_2-D_lc-I-3": 0.0, "lig_2-D_lc-S-3": 0.0, "lig_2-f-Z-0": 52.0, "lig_2-f-chi-0": 23.7616, "lig_2-f-T-0": 12.0, "lig_2-f-I-0": 4.0, "lig_2-f-S-0": 0.9732000000000001, "lig_2-f-Z-1": 42.0, "lig_2-f-chi-1": 40.12800000000001, "lig_2-f-T-1": 18.0, "lig_2-f-I-1": 6.0, "lig_2-f-S-1": 1.6649999999999996, "lig_2-f-Z-2": 6.0, "lig_2-f-chi-2": 29.040000000000003, "lig_2-f-T-2": 6.0, "lig_2-f-I-2": 6.0, "lig_2-f-S-2": 0.8214, "lig_2-f-Z-3": 0.0, "lig_2-f-chi-3": 0.0, "lig_2-f-T-3": 0.0, "lig_2-f-I-3": 0.0, "lig_2-f-S-3": 0.0, "lig_2-D_f-Z-0": 0.0, "lig_2-D_f-chi-0": 0.0, "lig_2-D_f-T-0": 0.0, "lig_2-D_f-I-0": 0.0, "lig_2-D_f-S-0": 0.0, "lig_2-D_f-Z-1": 0.0, "lig_2-D_f-chi-1": 0.0, "lig_2-D_f-T-1": 0.0, "lig_2-D_f-I-1": 0.0, "lig_2-D_f-S-1": 0.0, "lig_2-D_f-Z-2": 0.0, "lig_2-D_f-chi-2": 0.0, "lig_2-D_f-T-2": 0.0, "lig_2-D_f-I-2": 0.0, "lig_2-D_f-S-2": 0.0, "lig_2-D_f-Z-3": 0.0, "lig_2-D_f-chi-3": 0.0, "lig_2-D_f-T-3": 0.0, "lig_2-D_f-I-3": 0.0, "lig_2-D_f-S-3": 0.0, "lig_3-lc-Z-0": 64.0, "lig_3-lc-chi-0": 11.833599999999999, "lig_3-lc-T-0": 4.0, "lig_3-lc-I-0": 1.0, "lig_3-lc-S-0": 0.5328999999999999, "lig_3-lc-Z-1": 96.0, "lig_3-lc-chi-1": 17.543999999999997, "lig_3-lc-T-1": 12.0, "lig_3-lc-I-1": 2.0, "lig_3-lc-S-1": 1.1242, "lig_3-lc-Z-2": 112.0, "lig_3-lc-chi-2": 32.68, "lig_3-lc-T-2": 16.0, "lig_3-lc-I-2": 4.0, "lig_3-lc-S-2": 1.6644, "lig_3-lc-Z-3": 16.0, "lig_3-lc-chi-3": 15.136000000000001, "lig_3-lc-T-3": 4.0, "lig_3-lc-I-3": 2.0, "lig_3-lc-S-3": 0.5402, "lig_3-D_lc-Z-0": 0.0, "lig_3-D_lc-chi-0": 0.0, "lig_3-D_lc-T-0": 0.0, "lig_3-D_lc-I-0": 0.0, "lig_3-D_lc-S-0": 0.0, "lig_3-D_lc-Z-1": 4.0, "lig_3-D_lc-chi-1": 1.7800000000000002, "lig_3-D_lc-T-1": -2.0, "lig_3-D_lc-I-1": 0.0, "lig_3-D_lc-S-1": -0.08000000000000007, "lig_3-D_lc-Z-2": 18.0, "lig_3-D_lc-chi-2": 4.26, "lig_3-D_lc-T-2": 0.0, "lig_3-D_lc-I-2": 0.0, "lig_3-D_lc-S-2": 0.6399999999999999, "lig_3-D_lc-Z-3": 14.0, "lig_3-D_lc-chi-3": 2.4799999999999995, "lig_3-D_lc-T-3": 2.0, "lig_3-D_lc-I-3": 0.0, "lig_3-D_lc-S-3": 0.72, "lig_3-f-Z-0": 212.0, "lig_3-f-chi-0": 57.20360000000001, "lig_3-f-T-0": 44.0, "lig_3-f-I-0": 9.0, "lig_3-f-S-0": 3.452099999999999, "lig_3-f-Z-1": 456.0, "lig_3-f-chi-1": 118.98299999999998, "lig_3-f-T-1": 102.0, "lig_3-f-I-1": 18.0, "lig_3-f-S-1": 8.085000000000003, "lig_3-f-Z-2": 512.0, "lig_3-f-chi-2": 171.69500000000008, "lig_3-f-T-2": 122.0, "lig_3-f-I-2": 26.0, "lig_3-f-S-2": 10.305000000000003, "lig_3-f-Z-3": 110.0, "lig_3-f-chi-3": 126.632, "lig_3-f-T-3": 50.0, "lig_3-f-I-3": 22.0, "lig_3-f-S-3": 5.320599999999999, "lig_3-D_f-Z-0": 0.0, "lig_3-D_f-chi-0": 0.0, "lig_3-D_f-T-0": 0.0, "lig_3-D_f-I-0": 0.0, "lig_3-D_f-S-0": 0.0, "lig_3-D_f-Z-1": 0.0, "lig_3-D_f-chi-1": 0.0, "lig_3-D_f-T-1": 0.0, "lig_3-D_f-I-1": 0.0, "lig_3-D_f-S-1": 1.1102230246251565e-16, "lig_3-D_f-Z-2": 0.0, "lig_3-D_f-chi-2": -8.881784197001252e-16, "lig_3-D_f-T-2": 0.0, "lig_3-D_f-I-2": 0.0, "lig_3-D_f-S-2": 1.1102230246251565e-16, "lig_3-D_f-Z-3": 0.0, "lig_3-D_f-chi-3": 0.0, "lig_3-D_f-T-3": 0.0, "lig_3-D_f-I-3": 0.0, "lig_3-D_f-S-3": 1.1102230246251565e-16, "lig_4-lc-Z-0": 64.0, "lig_4-lc-chi-0": 11.833599999999999, "lig_4-lc-T-0": 4.0, "lig_4-lc-I-0": 1.0, "lig_4-lc-S-0": 0.5328999999999999, "lig_4-lc-Z-1": 16.0, "lig_4-lc-chi-1": 15.136000000000001, "lig_4-lc-T-1": 4.0, "lig_4-lc-I-1": 2.0, "lig_4-lc-S-1": 0.5402, "lig_4-lc-Z-2": 0.0, "lig_4-lc-chi-2": 0.0, "lig_4-lc-T-2": 0.0, "lig_4-lc-I-2": 0.0, "lig_4-lc-S-2": 0.0, "lig_4-lc-Z-3": 0.0, "lig_4-lc-chi-3": 0.0, "lig_4-lc-T-3": 0.0, "lig_4-lc-I-3": 0.0, "lig_4-lc-S-3": 0.0, "lig_4-D_lc-Z-0": 0.0, "lig_4-D_lc-chi-0": 0.0, "lig_4-D_lc-T-0": 0.0, "lig_4-D_lc-I-0": 0.0, "lig_4-D_lc-S-0": 0.0, "lig_4-D_lc-Z-1": 14.0, "lig_4-D_lc-chi-1": 2.4799999999999995, "lig_4-D_lc-T-1": 2.0, "lig_4-D_lc-I-1": 0.0, "lig_4-D_lc-S-1": 0.72, "lig_4-D_lc-Z-2": 0.0, "lig_4-D_lc-chi-2": 0.0, "lig_4-D_lc-T-2": 0.0, "lig_4-D_lc-I-2": 0.0, "lig_4-D_lc-S-2": 0.0, "lig_4-D_lc-Z-3": 0.0, "lig_4-D_lc-chi-3": 0.0, "lig_4-D_lc-T-3": 0.0, "lig_4-D_lc-I-3": 0.0, "lig_4-D_lc-S-3": 0.0, "lig_4-f-Z-0": 66.0, "lig_4-f-chi-0": 21.5136, "lig_4-f-T-0": 6.0, "lig_4-f-I-0": 3.0, "lig_4-f-S-0": 0.8067, "lig_4-f-Z-1": 32.0, "lig_4-f-chi-1": 30.272000000000002, "lig_4-f-T-1": 8.0, "lig_4-f-I-1": 4.0, "lig_4-f-S-1": 1.0804, "lig_4-f-Z-2": 2.0, "lig_4-f-chi-2": 9.680000000000001, "lig_4-f-T-2": 2.0, "lig_4-f-I-2": 2.0, "lig_4-f-S-2": 0.2738, "lig_4-f-Z-3": 0.0, "lig_4-f-chi-3": 0.0, "lig_4-f-T-3": 0.0, "lig_4-f-I-3": 0.0, "lig_4-f-S-3": 0.0, "lig_4-D_f-Z-0": 0.0, "lig_4-D_f-chi-0": 0.0, "lig_4-D_f-T-0": 0.0, "lig_4-D_f-I-0": 0.0, "lig_4-D_f-S-0": 0.0, "lig_4-D_f-Z-1": 0.0, "lig_4-D_f-chi-1": 0.0, "lig_4-D_f-T-1": 0.0, "lig_4-D_f-I-1": 0.0, "lig_4-D_f-S-1": 0.0, "lig_4-D_f-Z-2": 0.0, "lig_4-D_f-chi-2": 0.0, "lig_4-D_f-T-2": 0.0, "lig_4-D_f-I-2": 0.0, "lig_4-D_f-S-2": 0.0, "lig_4-D_f-Z-3": 0.0, "lig_4-D_f-chi-3": 0.0, "lig_4-D_f-T-3": 0.0, "lig_4-D_f-I-3": 0.0, "lig_4-D_f-S-3": 0.0, "lig_5-lc-Z-0": 49.0, "lig_5-lc-chi-0": 9.2416, "lig_5-lc-T-0": 9.0, "lig_5-lc-I-0": 1.0, "lig_5-lc-S-0": 0.5625, "lig_5-lc-Z-1": 21.0, "lig_5-lc-chi-1": 20.064, "lig_5-lc-T-1": 9.0, "lig_5-lc-I-1": 3.0, "lig_5-lc-S-1": 0.8324999999999999, "lig_5-lc-Z-2": 0.0, "lig_5-lc-chi-2": 0.0, "lig_5-lc-T-2": 0.0, "lig_5-lc-I-2": 0.0, "lig_5-lc-S-2": 0.0, "lig_5-lc-Z-3": 0.0, "lig_5-lc-chi-3": 0.0, "lig_5-lc-T-3": 0.0, "lig_5-lc-I-3": 0.0, "lig_5-lc-S-3": 0.0, "lig_5-D_lc-Z-0": 0.0, "lig_5-D_lc-chi-0": 0.0, "lig_5-D_lc-T-0": 0.0, "lig_5-D_lc-I-0": 0.0, "lig_5-D_lc-S-0": 0.0, "lig_5-D_lc-Z-1": 18.0, "lig_5-D_lc-chi-1": 2.5199999999999996, "lig_5-D_lc-T-1": 6.0, "lig_5-D_lc-I-1": 0.0, "lig_5-D_lc-S-1": 1.1400000000000001, "lig_5-D_lc-Z-2": 0.0, "lig_5-D_lc-chi-2": 0.0, "lig_5-D_lc-T-2": 0.0, "lig_5-D_lc-I-2": 0.0, "lig_5-D_lc-S-2": 0.0, "lig_5-D_lc-Z-3": 0.0, "lig_5-D_lc-chi-3": 0.0, "lig_5-D_lc-T-3": 0.0, "lig_5-D_lc-I-3": 0.0, "lig_5-D_lc-S-3": 0.0, "lig_5-f-Z-0": 52.0, "lig_5-f-chi-0": 23.7616, "lig_5-f-T-0": 12.0, "lig_5-f-I-0": 4.0, "lig_5-f-S-0": 0.9732000000000001, "lig_5-f-Z-1": 42.0, "lig_5-f-chi-1": 40.12800000000001, "lig_5-f-T-1": 18.0, "lig_5-f-I-1": 6.0, "lig_5-f-S-1": 1.6649999999999996, "lig_5-f-Z-2": 6.0, "lig_5-f-chi-2": 29.040000000000003, "lig_5-f-T-2": 6.0, "lig_5-f-I-2": 6.0, "lig_5-f-S-2": 0.8214, "lig_5-f-Z-3": 0.0, "lig_5-f-chi-3": 0.0, "lig_5-f-T-3": 0.0, "lig_5-f-I-3": 0.0, "lig_5-f-S-3": 0.0, "lig_5-D_f-Z-0": 0.0, "lig_5-D_f-chi-0": 0.0, "lig_5-D_f-T-0": 0.0, "lig_5-D_f-I-0": 0.0, "lig_5-D_f-S-0": 0.0, "lig_5-D_f-Z-1": 0.0, "lig_5-D_f-chi-1": 0.0, "lig_5-D_f-T-1": 0.0, "lig_5-D_f-I-1": 0.0, "lig_5-D_f-S-1": 0.0, "lig_5-D_f-Z-2": 0.0, "lig_5-D_f-chi-2": 0.0, "lig_5-D_f-T-2": 0.0, "lig_5-D_f-I-2": 0.0, "lig_5-D_f-S-2": 0.0, "lig_5-D_f-Z-3": 0.0, "lig_5-D_f-chi-3": 0.0, "lig_5-D_f-T-3": 0.0, "lig_5-D_f-I-3": 0.0, "lig_5-D_f-S-3": 0.0} From 85e170af144333496b6acbb07ff71101601b45ec Mon Sep 17 00:00:00 2001 From: Ralf Meyer Date: Mon, 22 Apr 2024 20:27:10 -0400 Subject: [PATCH 6/9] Remove difference ligand RACs for full scope --- molSimplify/Informatics/graph_racs.py | 5 ++--- tests/informatics/test_graph_racs.py | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/molSimplify/Informatics/graph_racs.py b/molSimplify/Informatics/graph_racs.py index ee88f55b..5cd0b982 100644 --- a/molSimplify/Informatics/graph_racs.py +++ b/molSimplify/Informatics/graph_racs.py @@ -286,7 +286,7 @@ def ligand_racs( n_ligands = len(connecting_atoms) n_props = len(property_fun(mol, list(mol.nodes.keys())[0])) - n_scopes = 4 if full_scope else 2 + n_scopes = 3 if full_scope else 2 output = np.zeros((n_ligands, n_scopes, depth + 1, n_props)) # Then cut the graph by removing all connections to the metal atom @@ -308,7 +308,6 @@ def ligand_racs( # Add full scope RACs if requested if full_scope: output[i, 2] = multi_centered_AC(g, depth=depth, operation=operator.mul, property_fun=property_fun) - output[i, 3] = multi_centered_AC(g, depth=depth, operation=operator.sub, property_fun=property_fun) return output @@ -322,7 +321,7 @@ def ligand_racs_names(depth: int = 3, properties=None, full_scope: bool = True) "D_lc", ] if full_scope: - starts += ["f", "D_f"] + starts += ["f"] return [ f"{start}-{prop}-{d}" for start in starts diff --git a/tests/informatics/test_graph_racs.py b/tests/informatics/test_graph_racs.py index 1795cafc..33d2999b 100644 --- a/tests/informatics/test_graph_racs.py +++ b/tests/informatics/test_graph_racs.py @@ -152,7 +152,7 @@ def test_ligand_racs( descriptor_names = ligand_racs_names(depth=depth) - assert descriptors.shape == (n_ligs, 4, depth + 1, 5) + assert descriptors.shape == (n_ligs, 3, depth + 1, 5) for lig in range(n_ligs): for name, rac in zip(descriptor_names, descriptors[lig].flatten()): From 8b2a6457f3ae317888782bb411afcd35c7c61d61 Mon Sep 17 00:00:00 2001 From: Ralf Meyer Date: Mon, 22 Apr 2024 20:31:27 -0400 Subject: [PATCH 7/9] Reorder RACs so that depth is the last loop --- molSimplify/Informatics/graph_racs.py | 16 ++++++++-------- tests/informatics/test_graph_racs.py | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/molSimplify/Informatics/graph_racs.py b/molSimplify/Informatics/graph_racs.py index 5cd0b982..25b49e94 100644 --- a/molSimplify/Informatics/graph_racs.py +++ b/molSimplify/Informatics/graph_racs.py @@ -70,10 +70,10 @@ def atom_centered_AC( mol, source=starting_node, cutoff=depth ) p_i = property_fun(mol, starting_node) - output = np.zeros((depth + 1, len(p_i))) + output = np.zeros((len(p_i), depth + 1)) for node, d_ij in lengths.items(): p_j = property_fun(mol, node) - output[d_ij] += operation(p_i, p_j) + output[:, d_ij] += operation(p_i, p_j) return output @@ -103,14 +103,14 @@ def multi_centered_AC( full-scope autocorrelation vector """ n_props = len(property_fun(mol, list(mol.nodes.keys())[0])) - output = np.zeros((depth + 1, n_props)) + output = np.zeros((n_props, depth + 1)) # Generate all pairwise path lengths lengths = nx.all_pairs_shortest_path_length(mol, cutoff=depth) for node_i, lengths_i in lengths: p_i = property_fun(mol, node_i) for node_j, d_ij in lengths_i.items(): p_j = property_fun(mol, node_j) - output[d_ij] += operation(p_i, p_j) + output[:, d_ij] += operation(p_i, p_j) return output @@ -123,7 +123,7 @@ def octahedral_racs( # Following J. Phys. Chem. A 2017, 121, 8939 there are 6 start/scope # combinations for product ACs and 3 for difference ACs. n_props = len(property_fun(mol, list(mol.nodes.keys())[0])) - output = np.zeros((6 + 3, depth + 1, n_props)) + output = np.zeros((6 + 3, n_props, depth + 1)) # start = f, scope = all, product output[0] = multi_centered_AC(mol, depth=depth, property_fun=property_fun) @@ -263,8 +263,8 @@ def octahedral_racs_names(depth=3, properties=None) -> List[str]: return [ f"{start}-{prop}-{d}-{scope}" for start, scope in start_scope - for d in range(0, depth + 1) for prop in properties + for d in range(0, depth + 1) ] @@ -287,7 +287,7 @@ def ligand_racs( n_ligands = len(connecting_atoms) n_props = len(property_fun(mol, list(mol.nodes.keys())[0])) n_scopes = 3 if full_scope else 2 - output = np.zeros((n_ligands, n_scopes, depth + 1, n_props)) + output = np.zeros((n_ligands, n_scopes, n_props, depth + 1)) # Then cut the graph by removing all connections to the metal atom subgraphs.remove_edges_from([(metal, c) for c in connecting_atoms]) @@ -325,6 +325,6 @@ def ligand_racs_names(depth: int = 3, properties=None, full_scope: bool = True) return [ f"{start}-{prop}-{d}" for start in starts - for d in range(0, depth + 1) for prop in properties + for d in range(0, depth + 1) ] diff --git a/tests/informatics/test_graph_racs.py b/tests/informatics/test_graph_racs.py index 33d2999b..8a75e022 100644 --- a/tests/informatics/test_graph_racs.py +++ b/tests/informatics/test_graph_racs.py @@ -44,7 +44,7 @@ def test_atom_centered_AC(furan): [112.0, 32.68, 16.0, 4.0, 1.6644], [16.0, 15.136, 4.0, 2.0, 0.5402], ] - np.testing.assert_allclose(descriptors, ref) + np.testing.assert_allclose(descriptors.T, ref) def test_atom_centered_AC_diff(furan): @@ -56,7 +56,7 @@ def test_atom_centered_AC_diff(furan): [18.0, 4.26, 0.0, 0.0, 0.64], [14.0, 2.48, 2.0, 0.0, 0.72], ] - np.testing.assert_allclose(descriptors, ref) + np.testing.assert_allclose(descriptors.T, ref) def test_multi_centered_AC(furan): @@ -68,7 +68,7 @@ def test_multi_centered_AC(furan): [512.0, 171.695, 122.0, 26.0, 10.3050], [110.0, 126.632, 50.0, 22.0, 5.3206], ] - np.testing.assert_allclose(descriptors, ref) + np.testing.assert_allclose(descriptors.T, ref) @pytest.mark.parametrize( @@ -152,7 +152,7 @@ def test_ligand_racs( descriptor_names = ligand_racs_names(depth=depth) - assert descriptors.shape == (n_ligs, 3, depth + 1, 5) + assert descriptors.shape == (n_ligs, 3, 5, depth + 1) for lig in range(n_ligs): for name, rac in zip(descriptor_names, descriptors[lig].flatten()): From 262d69fc27a98347fd6de986a7e336dcbd00b38e Mon Sep 17 00:00:00 2001 From: Ralf Meyer Date: Thu, 2 May 2024 12:49:36 -0400 Subject: [PATCH 8/9] Make PermutationLayer serializable --- molSimplify/ml/layers.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/molSimplify/ml/layers.py b/molSimplify/ml/layers.py index 04eedad6..7c147c77 100644 --- a/molSimplify/ml/layers.py +++ b/molSimplify/ml/layers.py @@ -1,7 +1,7 @@ import tensorflow as tf from typing import List, Tuple - +@tf.keras.saving.register_keras_serializable(package="molSimplify") class PermutationLayer(tf.keras.layers.Layer): def __init__(self, permutations: List[Tuple[int]]): @@ -27,3 +27,6 @@ def call(self, inputs): ) ) return tf.stack(outputs, axis=1) + + def get_config(self): + return {"permutations": self.permutations} From a4834693ab0b7d103cb7832edd378de2ed6b8de6 Mon Sep 17 00:00:00 2001 From: Ralf Meyer Date: Mon, 6 May 2024 12:44:20 -0400 Subject: [PATCH 9/9] Fix serialization for new TF versions --- molSimplify/ml/layers.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/molSimplify/ml/layers.py b/molSimplify/ml/layers.py index 7c147c77..59910dc4 100644 --- a/molSimplify/ml/layers.py +++ b/molSimplify/ml/layers.py @@ -1,7 +1,14 @@ import tensorflow as tf from typing import List, Tuple -@tf.keras.saving.register_keras_serializable(package="molSimplify") +# Workaround for moved functionality +try: + from tensorflow.keras.saving import register_keras_serializable +except ImportError: + from tensorflow.keras.utils import register_keras_serializable + + +register_keras_serializable(package="molSimplify") class PermutationLayer(tf.keras.layers.Layer): def __init__(self, permutations: List[Tuple[int]]):