From 781d20c1e0939b90bcfb99a4ac33d937a2f34b49 Mon Sep 17 00:00:00 2001 From: Alexander Davis Date: Thu, 29 Aug 2024 12:26:53 -0400 Subject: [PATCH 1/3] More recent octahedral embed that can handle carbenes --- bluephos/modules/octahedral_embed.py | 174 ------------- bluephos/modules/octahedral_embed/BIPLET.mol2 | 243 ++++++++++++++++++ bluephos/modules/octahedral_embed/EGUFIZ.mol2 | 237 +++++++++++++++++ bluephos/modules/octahedral_embed/MAXYIU.mol2 | 187 ++++++++++++++ bluephos/modules/octahedral_embed/MAXYOA.mol2 | 187 ++++++++++++++ bluephos/modules/octahedral_embed/OHUZEW.mol2 | 148 +++++++++++ bluephos/modules/octahedral_embed/OHUZIA.mol2 | 148 +++++++++++ bluephos/modules/octahedral_embed/SOYNOM.mol2 | 189 ++++++++++++++ bluephos/modules/octahedral_embed/UYOKUR.mol2 | 195 ++++++++++++++ bluephos/modules/octahedral_embed/__init__.py | 166 ++++++++++++ 10 files changed, 1700 insertions(+), 174 deletions(-) delete mode 100644 bluephos/modules/octahedral_embed.py create mode 100644 bluephos/modules/octahedral_embed/BIPLET.mol2 create mode 100644 bluephos/modules/octahedral_embed/EGUFIZ.mol2 create mode 100644 bluephos/modules/octahedral_embed/MAXYIU.mol2 create mode 100644 bluephos/modules/octahedral_embed/MAXYOA.mol2 create mode 100644 bluephos/modules/octahedral_embed/OHUZEW.mol2 create mode 100644 bluephos/modules/octahedral_embed/OHUZIA.mol2 create mode 100644 bluephos/modules/octahedral_embed/SOYNOM.mol2 create mode 100644 bluephos/modules/octahedral_embed/UYOKUR.mol2 create mode 100644 bluephos/modules/octahedral_embed/__init__.py diff --git a/bluephos/modules/octahedral_embed.py b/bluephos/modules/octahedral_embed.py deleted file mode 100644 index c1dd881..0000000 --- a/bluephos/modules/octahedral_embed.py +++ /dev/null @@ -1,174 +0,0 @@ -import os.path - -from rdkit import Chem -from rdkit.Chem import AllChem, rdchem, rdChemReactions, rdmolfiles, rdmolops - -CARBENE_SKELETON_SMARTS = ( - "[Ir]135(<-[CH0](~N(~*)~*~2)~N(~*~2)~c~c~1)(<-[CH0](~N(~*)~*~4)~N(~*~4)~c~c~3)(<-[CH0](~N(~*)~*~6)~N(~*~6)~c~c~5)" -) - - -def make_bonds_dative(mol, target_elem="Ir"): - """ - Modifies a molecule to change specific bonds to dative based on the element targeting. - - Parameters: - mol (Mol): The RDKit molecule object to modify. - target_elem (str): Target element symbol for bond modifications. - - Returns: - Mol: The modified RDKit molecule with dative bonds where applicable. - """ - editable_mol = rdchem.RWMol(mol) - - # If you don't make a list, it loops infinitely over the bonds it's creating - for bond in list(editable_mol.GetBonds()): - iridium = None - nitrogen = None - carbene = None - if ( - bond.GetBeginAtom().GetSymbol() == target_elem - and bond.GetEndAtom().GetSymbol() in ["N", "P"] - and bond.GetEndAtom().GetFormalCharge() == 1 - ): - iridium = bond.GetBeginAtom() - nitrogen = bond.GetEndAtom() - start_idx = bond.GetEndAtomIdx() - end_idx = bond.GetBeginAtomIdx() - elif ( - bond.GetEndAtom().GetSymbol() == target_elem - and bond.GetBeginAtom().GetSymbol() in ["N", "P"] - and bond.GetBeginAtom().GetFormalCharge() == 1 - ): - iridium = bond.GetEndAtom() - nitrogen = bond.GetBeginAtom() - start_idx = bond.GetBeginAtomIdx() - end_idx = bond.GetEndAtomIdx() - if ( - bond.GetBeginAtom().GetSymbol() == target_elem - and bond.GetEndAtom().GetSymbol() == "C" - and bond.GetEndAtom().GetTotalValence() == 3 - ): - iridium = bond.GetBeginAtom() - carbene = bond.GetEndAtom() - start_idx = bond.GetEndAtomIdx() - end_idx = bond.GetBeginAtomIdx() - elif ( - bond.GetEndAtom().GetSymbol() == target_elem - and bond.GetBeginAtom().GetSymbol() == "C" - and bond.GetBeginAtom().GetTotalValence() == 3 - ): - iridium = bond.GetEndAtom() - carbene = bond.GetBeginAtom() - start_idx = bond.GetBeginAtomIdx() - end_idx = bond.GetEndAtomIdx() - - if nitrogen is not None: - # Replace N+ - Ir with N -> Ir - nitrogen.SetFormalCharge(0) - - if iridium is not None and (nitrogen is not None or carbene is not None): - editable_mol.RemoveBond(start_idx, end_idx) - editable_mol.AddBond(start_idx, end_idx, Chem.rdchem.BondType.DATIVE) - - outmol = editable_mol.GetMol() - Chem.SanitizeMol(outmol) - - return outmol - - -def transfer_conformation(mol, substruct, conformer=0): - """Given a molecule, and a second molecule which is a substructure of the - first, assign coordinates to the substructure based on the matching part of - the original molecule""" - match = mol.GetSubstructMatch(substruct) - substruct_conformation = rdchem.Conformer(substruct.GetNumAtoms()) - for i, index in enumerate(match): - point = mol.GetConformer(conformer).GetAtomPosition(index) - substruct_conformation.SetAtomPosition(i, point) - substruct.AddConformer(substruct_conformation) - - -def run_three_times(mol, reaction): - for i in range(3): - mol = reaction.RunReactants([mol])[0][0] - return mol - - -def get_directory_path(): - """Returns the directory path of the current script.""" - return os.path.dirname(os.path.abspath(__file__)) - - -def skeleton_extraction(mol, template): - """Extracts and returns the skeleton of a molecule based on the provided SMARTS template.""" - matches = mol.GetSubstructMatches(template) - matching_indices = set(sum(matches, ())) - editable_mol = rdchem.RWMol(mol) - editable_mol.BeginBatchEdit() - for atom in editable_mol.GetAtoms(): - if atom.GetIdx() not in matching_indices: - editable_mol.RemoveAtom(atom.GetIdx()) - atom.SetFormalCharge(0) - editable_mol.CommitBatchEdit() - return editable_mol.GetMol() - - -def load_molecule(file_name): - """Loads a molecule from a .mol2 file given a file name.""" - dir_path = get_directory_path() - base_mol = rdmolfiles.MolFromMol2File(os.path.join(dir_path, file_name)) - dative_mol = make_bonds_dative(base_mol) - rdmolops.RemoveStereochemistry(dative_mol) - return dative_mol - - -def compute_skeletons(isomer): - """Computes and returns all skeletons based on the isomer type.""" - - if isomer == "fac": - base_mol = load_molecule("OHUZEW.mol2") - carbene_mol = load_molecule("MAXYIU.mol2") - elif isomer == "mer": - base_mol = load_molecule("OHUZIA.mol2") - carbene_mol = load_molecule("MAXYOA.mol2") - else: - raise ValueError(f'Isomer should be "mer" or "fac", given {isomer}') - - template = rdmolfiles.MolFromSmarts("[Ir]1~n:[*]~[*]:c~1") - - skeleton = skeleton_extraction(base_mol, template) - - carbene_skeleton = rdmolfiles.MolFromSmarts(CARBENE_SKELETON_SMARTS) - transfer_conformation(carbene_mol, carbene_skeleton) - - REACTION_PREFIX = "[Ir:1]1<-[n:2]:[n:3]~[c:4]:[c:5]~1>>[Ir:1]1<-[n:2]:" - REACTION_SUFFIX = ":[c:5]~1" - - reactions = [ - rdChemReactions.ReactionFromSmarts(f"{REACTION_PREFIX}{core}{REACTION_SUFFIX}") - for core in ["[c:3]~[n:4]", "[n:3]~[n:4]", "[c:3]~[c:4]"] - ] - skeletons = [skeleton] + [run_three_times(skeleton, reaction) for reaction in reactions] + [carbene_skeleton] - - return skeletons - - -def octahedral_embed(mol, isomer): - """Embeds a molecule based on the skeletons for 'fac' or 'mer' isomers.""" - rdmolops.RemoveStereochemistry(mol) - skeletons = compute_skeletons(isomer) - - finished = False - for skeleton in skeletons: - if len(mol.GetSubstructMatch(skeleton)) > 0: - # Carbene embedding with a large template gives output "Could not - # triangle bounds smooth molecule" and raises a ValueError. But - # with a small template the imidazole is hroribly twisted, probably - # because it thinks the atoms are aliphatic. Ignoring smoothing - # failures with the large template, it works - AllChem.ConstrainedEmbed(mol, skeleton, ignoreSmoothingFailures=True) - finished = True - # break - if not finished: - raise ValueError("Doesn't match templates") diff --git a/bluephos/modules/octahedral_embed/BIPLET.mol2 b/bluephos/modules/octahedral_embed/BIPLET.mol2 new file mode 100644 index 0000000..60825c8 --- /dev/null +++ b/bluephos/modules/octahedral_embed/BIPLET.mol2 @@ -0,0 +1,243 @@ +@MOLECULE +01 + 111 120 1 0 0 +SMALL +USER_CHARGES +**** +Generated from the CSD + +@ATOM + 1 C1 -4.7958 13.6996 19.1037 C.ar 1 RES1 0.0000 + 2 C2 -6.1226 13.9321 18.7618 C.ar 1 RES1 0.0000 + 3 C3 -6.5256 15.1353 18.1796 C.ar 1 RES1 0.0000 + 4 C4 -5.5363 16.0977 18.0134 C.ar 1 RES1 0.0000 + 5 H1 -5.7949 16.9296 17.6331 H 1 RES1 0.0000 + 6 C5 -4.1916 15.9432 18.3583 C.ar 1 RES1 0.0000 + 7 C6 -3.8584 14.6974 18.9083 C.ar 1 RES1 0.0000 + 8 C7 -7.9560 15.4358 17.7353 C.3 1 RES1 0.0000 + 9 H2 -7.9844 16.3131 17.2989 H 1 RES1 0.0000 + 10 H3 -8.5465 15.4429 18.5176 H 1 RES1 0.0000 + 11 H4 -8.2554 14.7470 17.1062 H 1 RES1 0.0000 + 12 C8 -3.2322 17.0813 18.1206 C.3 1 RES1 0.0000 + 13 H5 -2.8382 17.3619 18.9726 H 1 RES1 0.0000 + 14 H6 -3.7118 17.8353 17.7190 H 1 RES1 0.0000 + 15 H7 -2.5194 16.7879 17.5124 H 1 RES1 0.0000 + 16 C9 -6.2673 11.7126 19.6086 C.3 1 RES1 0.0000 + 17 C10 -8.4905 11.3667 19.5576 C.2 1 RES1 0.0000 + 18 H8 -9.3316 10.9387 19.6690 H 1 RES1 0.0000 + 19 C11 -8.2892 12.5870 19.0619 C.2 1 RES1 0.0000 + 20 H9 -8.9524 13.1965 18.7590 H 1 RES1 0.0000 + 21 C12 -7.0673 9.5668 20.5611 C.3 1 RES1 0.0000 + 22 H10 -6.1213 9.2847 20.4861 H 1 RES1 0.0000 + 23 H11 -7.6294 8.8737 20.1309 H 1 RES1 0.0000 + 24 C13 -7.4527 9.6957 22.0437 C.3 1 RES1 0.0000 + 25 H12 -6.8703 10.3789 22.4593 H 1 RES1 0.0000 + 26 H13 -8.3835 10.0288 22.0971 H 1 RES1 0.0000 + 27 C14 -7.3649 8.5406 22.7935 C.3 1 RES1 0.0000 + 28 H14 -6.4343 8.2062 22.7680 H 1 RES1 0.0000 + 29 H15 -7.9491 7.8476 22.3943 H 1 RES1 0.0000 + 30 C15 -7.7841 8.7688 24.2769 C.3 1 RES1 0.0000 + 31 H16 -7.1669 9.4038 24.6971 H 1 RES1 0.0000 + 32 H17 -7.7554 7.9156 24.7597 H 1 RES1 0.0000 + 33 H18 -8.6959 9.1288 24.3071 H 1 RES1 0.0000 + 34 C16 -2.4936 12.9740 19.8517 C.3 1 RES1 0.0000 + 35 C17 -0.4789 13.9817 19.9058 C.2 1 RES1 0.0000 + 36 H19 0.4480 14.1206 20.0659 H 1 RES1 0.0000 + 37 C18 -1.3300 14.8689 19.3821 C.2 1 RES1 0.0000 + 38 H20 -1.1272 15.7490 19.0910 H 1 RES1 0.0000 + 39 C19 -0.6269 11.6431 20.8276 C.3 1 RES1 0.0000 + 40 H21 0.2872 11.4872 20.4815 H 1 RES1 0.0000 + 41 H22 -1.1745 10.8480 20.6091 H 1 RES1 0.0000 + 42 C20 -0.5705 11.8146 22.3337 C.3 1 RES1 0.0000 + 43 H23 -1.4897 11.9195 22.6844 H 1 RES1 0.0000 + 44 H24 -0.0650 12.6366 22.5498 H 1 RES1 0.0000 + 45 C21 0.0941 10.6255 23.0141 C.3 1 RES1 0.0000 + 46 H25 -0.3891 9.7992 22.7587 H 1 RES1 0.0000 + 47 H26 1.0238 10.5447 22.6844 H 1 RES1 0.0000 + 48 C22 0.1158 10.7318 24.5114 C.3 1 RES1 0.0000 + 49 H27 0.5206 11.5864 24.7714 H 1 RES1 0.0000 + 50 H28 0.6428 9.9934 24.8828 H 1 RES1 0.0000 + 51 H29 -0.8005 10.6864 24.8549 H 1 RES1 0.0000 + 52 C23 -3.6450 10.1053 20.6365 C.ar 1 RES1 0.0000 + 53 C24 -3.6967 9.8517 22.0122 C.ar 1 RES1 0.0000 + 54 C25 -3.3178 8.6384 22.5598 C.ar 1 RES1 0.0000 + 55 C26 -2.8809 7.6747 21.6570 C.ar 1 RES1 0.0000 + 56 H30 -2.6299 6.8286 22.0089 H 1 RES1 0.0000 + 57 C27 -2.7799 7.8533 20.2658 C.ar 1 RES1 0.0000 + 58 C28 -3.1700 9.1005 19.7932 C.ar 1 RES1 0.0000 + 59 C29 -3.3855 8.3025 24.0376 C.3 1 RES1 0.0000 + 60 H31 -3.0271 7.4026 24.1840 H 1 RES1 0.0000 + 61 H32 -4.3168 8.3380 24.3396 H 1 RES1 0.0000 + 62 H33 -2.8543 8.9517 24.5439 H 1 RES1 0.0000 + 63 C30 -2.2698 6.7194 19.4067 C.3 1 RES1 0.0000 + 64 H34 -2.9367 6.4997 18.7242 H 1 RES1 0.0000 + 65 H35 -2.1056 5.9328 19.9684 H 1 RES1 0.0000 + 66 H36 -1.4347 6.9901 18.9726 H 1 RES1 0.0000 + 67 C31 -4.5102 12.1122 21.8987 C.3 1 RES1 0.0000 + 68 C32 -4.9742 12.5389 24.0733 C.2 1 RES1 0.0000 + 69 H37 -5.2652 12.9981 24.8526 H 1 RES1 0.0000 + 70 C33 -4.4894 11.2789 24.0185 C.2 1 RES1 0.0000 + 71 H38 -4.3714 10.6864 24.7528 H 1 RES1 0.0000 + 72 C34 -5.4697 14.3615 22.3996 C.3 1 RES1 0.0000 + 73 H39 -5.1229 14.5996 21.5029 H 1 RES1 0.0000 + 74 H40 -5.1271 15.0319 23.0443 H 1 RES1 0.0000 + 75 C35 -6.9778 14.4210 22.3785 C.3 1 RES1 0.0000 + 76 H41 -7.3269 14.2070 23.2810 H 1 RES1 0.0000 + 77 H42 -7.3233 13.7407 21.7489 H 1 RES1 0.0000 + 78 C36 -7.4761 15.7887 21.9602 C.3 1 RES1 0.0000 + 79 H43 -7.0907 16.4704 22.5661 H 1 RES1 0.0000 + 80 H44 -7.1563 15.9829 21.0432 H 1 RES1 0.0000 + 81 C37 -8.9828 15.8993 21.9904 C.3 1 RES1 0.0000 + 82 H45 -9.3735 15.2076 21.4170 H 1 RES1 0.0000 + 83 H46 -9.2527 16.7837 21.6654 H 1 RES1 0.0000 + 84 H47 -9.3004 15.7774 22.9096 H 1 RES1 0.0000 + 85 C38 -3.6909 10.8381 18.2174 C.3 1 RES1 0.0000 + 86 C39 -3.0713 9.8715 16.2721 C.2 1 RES1 0.0000 + 87 H48 -2.9136 9.7553 15.3419 H 1 RES1 0.0000 + 88 C40 -2.7994 8.9885 17.2359 C.2 1 RES1 0.0000 + 89 H49 -2.4129 8.1268 17.1248 H 1 RES1 0.0000 + 90 C41 -4.2341 12.1023 16.1468 C.3 1 RES1 0.0000 + 91 H50 -3.7252 12.2681 15.3141 H 1 RES1 0.0000 + 92 H51 -4.1877 12.9215 16.6999 H 1 RES1 0.0000 + 93 C42 -5.6820 11.8104 15.8006 C.3 1 RES1 0.0000 + 94 H52 -5.7193 10.9997 15.2328 H 1 RES1 0.0000 + 95 H53 -6.1789 11.6162 16.6349 H 1 RES1 0.0000 + 96 C43 -6.3643 12.9428 15.0773 C.3 1 RES1 0.0000 + 97 H54 -5.9037 13.1072 14.2184 H 1 RES1 0.0000 + 98 H55 -6.2956 13.7662 15.6228 H 1 RES1 0.0000 + 99 C44 -7.8466 12.6381 14.8080 C.3 1 RES1 0.0000 + 100 H56 -7.9151 11.8529 14.2230 H 1 RES1 0.0000 + 101 H57 -8.2632 13.4091 14.3693 H 1 RES1 0.0000 + 102 H58 -8.3024 12.4566 15.6553 H 1 RES1 0.0000 + 103 N1 -6.9132 12.7940 19.0763 N.pl3 1 RES1 0.0000 + 104 N2 -7.2535 10.8324 19.8809 N.pl3 1 RES1 0.0000 + 105 N3 -2.5713 14.2510 19.3479 N.pl3 1 RES1 0.0000 + 106 N4 -1.1960 12.8181 20.1753 N.pl3 1 RES1 0.0000 + 107 N5 -4.1984 11.0138 22.6819 N.pl3 1 RES1 0.0000 + 108 N6 -4.9676 13.0335 22.7733 N.pl3 1 RES1 0.0000 + 109 N7 -3.1912 9.5739 18.4319 N.pl3 1 RES1 0.0000 + 110 N8 -3.6232 10.9883 16.8768 N.pl3 1 RES1 0.0000 + 111 Ir1 -4.2365 11.8980 19.8829 Ir 1 RES1 1.0000 +@BOND + 1 1 2 ar + 2 2 3 ar + 3 3 4 ar + 4 4 5 1 + 5 6 4 ar + 6 7 1 ar + 7 8 3 1 + 8 9 8 1 + 9 10 8 1 + 10 11 8 1 + 11 12 6 1 + 12 13 12 1 + 13 14 12 1 + 14 15 12 1 + 15 16 103 1 + 16 17 18 1 + 17 19 17 2 + 18 20 19 1 + 19 21 22 1 + 20 23 21 1 + 21 24 21 1 + 22 25 24 1 + 23 26 24 1 + 24 27 24 1 + 25 28 27 1 + 26 29 27 1 + 27 30 27 1 + 28 31 30 1 + 29 32 30 1 + 30 33 30 1 + 31 34 105 1 + 32 35 36 1 + 33 37 35 2 + 34 38 37 1 + 35 39 40 1 + 36 41 39 1 + 37 42 39 1 + 38 43 42 1 + 39 44 42 1 + 40 45 42 1 + 41 46 45 1 + 42 47 45 1 + 43 48 45 1 + 44 49 48 1 + 45 50 48 1 + 46 51 48 1 + 47 52 53 ar + 48 53 54 ar + 49 54 55 ar + 50 55 56 1 + 51 57 55 ar + 52 58 52 ar + 53 59 54 1 + 54 60 59 1 + 55 61 59 1 + 56 62 59 1 + 57 63 57 1 + 58 64 63 1 + 59 65 63 1 + 60 66 63 1 + 61 67 107 1 + 62 68 69 1 + 63 70 68 2 + 64 71 70 1 + 65 72 73 1 + 66 74 72 1 + 67 75 72 1 + 68 76 75 1 + 69 77 75 1 + 70 78 75 1 + 71 79 78 1 + 72 80 78 1 + 73 81 78 1 + 74 82 81 1 + 75 83 81 1 + 76 84 81 1 + 77 85 109 1 + 78 86 87 1 + 79 88 86 2 + 80 89 88 1 + 81 90 91 1 + 82 92 90 1 + 83 93 90 1 + 84 94 93 1 + 85 95 93 1 + 86 96 93 1 + 87 97 96 1 + 88 98 96 1 + 89 99 96 1 + 90 100 99 1 + 91 101 99 1 + 92 102 99 1 + 93 103 2 1 + 94 104 16 1 + 95 105 7 1 + 96 106 34 1 + 97 107 53 1 + 98 108 67 1 + 99 109 58 1 + 100 110 85 1 + 101 111 1 1 + 102 6 7 ar + 103 16 111 1 + 104 17 104 1 + 105 19 103 1 + 106 21 104 1 + 107 34 111 1 + 108 35 106 1 + 109 37 105 1 + 110 39 106 1 + 111 52 111 1 + 112 57 58 ar + 113 67 111 1 + 114 68 108 1 + 115 70 107 1 + 116 72 108 1 + 117 85 111 1 + 118 86 110 1 + 119 88 109 1 + 120 90 110 1 +@SUBSTRUCTURE + 1 RES1 1 GROUP 0 **** **** 0 diff --git a/bluephos/modules/octahedral_embed/EGUFIZ.mol2 b/bluephos/modules/octahedral_embed/EGUFIZ.mol2 new file mode 100644 index 0000000..41da0fa --- /dev/null +++ b/bluephos/modules/octahedral_embed/EGUFIZ.mol2 @@ -0,0 +1,237 @@ +@MOLECULE +01 + 107 118 1 0 0 +SMALL +NO_CHARGES +**** +Generated from the CSD + +@ATOM + 1 Ir1 6.8706 4.9263 7.9920 Ir 1 RES1 0.0000 + 2 F1 3.1190 -1.2442 3.7594 F 1 RES1 0.0000 + 3 F2 1.2308 -0.8273 4.6339 F 1 RES1 0.0000 + 4 F3 1.7726 0.0968 2.7999 F 1 RES1 0.0000 + 5 F4 5.9629 6.9778 1.8732 F 1 RES1 0.0000 + 6 F5 4.5181 7.1985 3.4439 F 1 RES1 0.0000 + 7 F6 5.8403 8.8100 2.9729 F 1 RES1 0.0000 + 8 F7 3.7359 2.6295 13.1817 F 1 RES1 0.0000 + 9 F8 5.0562 4.0126 14.1433 F 1 RES1 0.0000 + 10 F9 3.7024 4.6952 12.6291 F 1 RES1 0.0000 + 11 O1 9.7023 5.9196 6.6779 O.3 1 RES1 0.0000 + 12 O2 8.2836 2.2093 9.1656 O.3 1 RES1 0.0000 + 13 N1 5.8582 2.3759 6.2982 N.pl3 1 RES1 0.0000 + 14 N2 2.4220 3.0006 5.7848 N.ar 1 RES1 0.0000 + 15 N3 4.4068 3.9079 6.8302 N.pl3 1 RES1 0.0000 + 16 N4 6.0826 7.4207 9.2461 N.pl3 1 RES1 0.0000 + 17 N5 5.5021 9.4974 10.3437 N.ar 1 RES1 0.0000 + 18 N6 8.1713 7.2375 9.8259 N.pl3 1 RES1 0.0000 + 19 N7 8.0506 7.2090 3.7583 N.ar 1 RES1 0.0000 + 20 N8 8.9065 4.0869 7.9136 N.ar 1 RES1 0.0000 + 21 N9 6.3269 2.3572 12.1831 N.ar 1 RES1 0.0000 + 22 C1 5.7469 3.5566 6.9498 C.3 1 RES1 0.0000 + 23 C2 4.6341 1.9761 5.7739 C.ar 1 RES1 0.0000 + 24 C3 4.1857 0.8704 5.0701 C.ar 1 RES1 0.0000 + 25 H1 4.7638 0.1581 4.8263 H 1 RES1 0.0000 + 26 C4 2.8447 0.8725 4.7460 C.ar 1 RES1 0.0000 + 27 C5 2.0157 1.9303 5.1039 C.ar 1 RES1 0.0000 + 28 H2 1.1032 1.8882 4.8461 H 1 RES1 0.0000 + 29 C6 3.7168 2.9715 6.1035 C.ar 1 RES1 0.0000 + 30 C7 4.0006 5.1287 7.4480 C.ar 1 RES1 0.0000 + 31 C8 2.7295 5.6889 7.4578 C.ar 1 RES1 0.0000 + 32 H3 2.0027 5.2450 7.0381 H 1 RES1 0.0000 + 33 C9 2.5423 6.9091 8.0920 C.ar 1 RES1 0.0000 + 34 C10 3.6283 7.5629 8.6935 C.ar 1 RES1 0.0000 + 35 H4 3.5124 8.4052 9.1197 H 1 RES1 0.0000 + 36 C11 4.8748 6.9549 8.6533 C.ar 1 RES1 0.0000 + 37 C12 5.0825 5.7368 8.0528 C.ar 1 RES1 0.0000 + 38 C13 6.3496 8.5271 10.0315 C.ar 1 RES1 0.0000 + 39 C14 6.0472 10.4407 11.1302 C.ar 1 RES1 0.0000 + 40 H5 5.5021 11.1737 11.3914 H 1 RES1 0.0000 + 41 C15 7.3657 10.4116 11.5892 C.ar 1 RES1 0.0000 + 42 C16 8.2151 9.3746 11.2357 C.ar 1 RES1 0.0000 + 43 H6 9.1137 9.3314 11.5433 H 1 RES1 0.0000 + 44 C17 7.6845 8.4125 10.4144 C.ar 1 RES1 0.0000 + 45 C18 7.2073 6.6301 9.1004 C.3 1 RES1 0.0000 + 46 C19 7.1476 1.6929 6.0709 C.3 1 RES1 0.0000 + 47 H7 7.8554 2.2401 6.5154 H 1 RES1 0.0000 + 48 C20 7.1661 0.3186 6.7203 C.3 1 RES1 0.0000 + 49 H8 8.0633 -0.0687 6.6363 H 1 RES1 0.0000 + 50 H9 6.5166 -0.2627 6.2739 H 1 RES1 0.0000 + 51 H10 6.9344 0.4023 7.6683 H 1 RES1 0.0000 + 52 C21 7.4623 1.6679 4.5828 C.3 1 RES1 0.0000 + 53 H11 8.3638 1.3094 4.4457 H 1 RES1 0.0000 + 54 H12 7.4143 2.5784 4.2239 H 1 RES1 0.0000 + 55 H13 6.8110 1.0997 4.1202 H 1 RES1 0.0000 + 56 C22 2.2564 -0.2665 3.9824 C.3 1 RES1 0.0000 + 57 C23 1.1724 7.5276 8.1910 C.3 1 RES1 0.0000 + 58 C24 0.0658 6.6863 7.5981 C.3 1 RES1 0.0000 + 59 H14 -0.7694 7.1989 7.6022 H 1 RES1 0.0000 + 60 H15 -0.0472 5.8718 8.1297 H 1 RES1 0.0000 + 61 H16 0.2978 6.4469 6.6767 H 1 RES1 0.0000 + 62 C25 1.1806 8.9206 7.6068 C.3 1 RES1 0.0000 + 63 H17 0.2706 9.2829 7.6142 H 1 RES1 0.0000 + 64 H18 1.5117 8.8863 6.6850 H 1 RES1 0.0000 + 65 H19 1.7660 9.4988 8.1414 H 1 RES1 0.0000 + 66 C26 0.8248 7.7358 9.7378 C.3 1 RES1 0.0000 + 67 H20 -0.0834 8.0938 9.8211 H 1 RES1 0.0000 + 68 H21 1.4619 8.3663 10.1352 H 1 RES1 0.0000 + 69 H22 0.8820 6.8764 10.2046 H 1 RES1 0.0000 + 70 C27 7.8161 11.4777 12.5258 C.3 1 RES1 0.0000 + 71 F10 7.1723 11.5089 13.5820 F 1 RES1 0.0000 + 72 F11 9.1222 11.4756 12.7597 F 1 RES1 0.0000 + 73 F12 7.6166 12.7250 11.9210 F 1 RES1 0.0000 + 74 C28 9.5315 6.7009 10.0195 C.3 1 RES1 0.0000 + 75 H23 9.5894 5.8520 9.4946 H 1 RES1 0.0000 + 76 C29 9.7557 6.3406 11.4772 C.3 1 RES1 0.0000 + 77 H24 10.6344 5.9171 11.5778 H 1 RES1 0.0000 + 78 H25 9.0583 5.7180 11.7714 H 1 RES1 0.0000 + 79 H26 9.7207 7.1527 12.0245 H 1 RES1 0.0000 + 80 C30 10.5682 7.6546 9.4430 C.3 1 RES1 0.0000 + 81 H27 11.4600 7.2537 9.5203 H 1 RES1 0.0000 + 82 H28 10.5471 8.4999 9.9379 H 1 RES1 0.0000 + 83 H29 10.3682 7.8238 8.4985 H 1 RES1 0.0000 + 84 C31 7.3039 5.8909 6.1873 C.ar 1 RES1 0.0000 + 85 C32 6.3742 6.3219 5.2464 C.ar 1 RES1 0.0000 + 86 H30 5.4484 6.1740 5.4019 H 1 RES1 0.0000 + 87 C33 6.7733 6.9549 4.0944 C.ar 1 RES1 0.0000 + 88 C34 8.9474 6.7904 4.6437 C.ar 1 RES1 0.0000 + 89 H31 9.8690 6.9275 4.4555 H 1 RES1 0.0000 + 90 C35 8.6039 6.1720 5.8174 C.ar 1 RES1 0.0000 + 91 C36 9.9141 4.7352 7.2685 C.ar 1 RES1 0.0000 + 92 C37 11.2202 4.2875 7.2772 C.ar 1 RES1 0.0000 + 93 H32 11.9045 4.7757 6.8337 H 1 RES1 0.0000 + 94 C38 11.5102 3.1235 7.9386 C.ar 1 RES1 0.0000 + 95 H33 12.3978 2.7877 7.9450 H 1 RES1 0.0000 + 96 C39 10.5168 2.4467 8.5913 C.ar 1 RES1 0.0000 + 97 H34 10.7020 1.6434 9.0613 H 1 RES1 0.0000 + 98 C40 9.2292 2.9652 8.5478 C.ar 1 RES1 0.0000 + 99 C41 7.3554 2.7591 10.0750 C.ar 1 RES1 0.0000 + 100 C42 6.5882 3.8752 9.7759 C.ar 1 RES1 0.0000 + 101 C43 5.6687 4.1854 10.7636 C.ar 1 RES1 0.0000 + 102 H35 5.0976 4.9374 10.6543 H 1 RES1 0.0000 + 103 C44 5.7839 7.4776 3.0991 C.3 1 RES1 0.0000 + 104 C45 7.2258 2.0427 11.2596 C.ar 1 RES1 0.0000 + 105 H36 7.8034 1.3041 11.4135 H 1 RES1 0.0000 + 106 C46 5.5700 3.4192 11.9003 C.ar 1 RES1 0.0000 + 107 C47 4.5189 3.6961 12.9620 C.3 1 RES1 0.0000 +@BOND + 1 1 20 1 + 2 2 56 1 + 3 3 56 1 + 4 4 56 1 + 5 5 103 1 + 6 6 103 1 + 7 7 103 1 + 8 8 107 1 + 9 9 107 1 + 10 10 107 1 + 11 11 90 1 + 12 12 98 1 + 13 13 22 1 + 14 14 27 ar + 15 15 22 1 + 16 16 36 1 + 17 17 38 ar + 18 18 44 1 + 19 19 87 ar + 20 20 91 ar + 21 21 104 ar + 22 22 1 1 + 23 23 13 1 + 24 24 23 ar + 25 25 24 1 + 26 26 24 ar + 27 27 26 ar + 28 28 27 1 + 29 29 14 ar + 30 30 15 1 + 31 31 30 ar + 32 32 31 1 + 33 33 31 ar + 34 34 33 ar + 35 35 34 1 + 36 36 34 ar + 37 37 1 1 + 38 38 16 1 + 39 39 17 ar + 40 40 39 1 + 41 41 39 ar + 42 42 41 ar + 43 43 42 1 + 44 44 38 ar + 45 45 1 1 + 46 46 13 1 + 47 47 46 1 + 48 48 46 1 + 49 49 48 1 + 50 50 48 1 + 51 51 48 1 + 52 52 46 1 + 53 53 52 1 + 54 54 52 1 + 55 55 52 1 + 56 56 26 1 + 57 57 33 1 + 58 58 57 1 + 59 59 58 1 + 60 60 58 1 + 61 61 58 1 + 62 62 57 1 + 63 63 62 1 + 64 64 62 1 + 65 65 62 1 + 66 66 57 1 + 67 67 66 1 + 68 68 66 1 + 69 69 66 1 + 70 70 41 1 + 71 71 70 1 + 72 72 70 1 + 73 73 70 1 + 74 74 18 1 + 75 75 74 1 + 76 76 74 1 + 77 77 76 1 + 78 78 76 1 + 79 79 76 1 + 80 80 74 1 + 81 81 80 1 + 82 82 80 1 + 83 83 80 1 + 84 84 1 1 + 85 85 84 ar + 86 86 85 1 + 87 87 85 ar + 88 88 19 ar + 89 89 88 1 + 90 90 84 ar + 91 91 11 1 + 92 92 91 ar + 93 93 92 1 + 94 94 92 ar + 95 95 94 1 + 96 96 94 ar + 97 97 96 1 + 98 98 20 ar + 99 99 12 1 + 100 100 1 1 + 101 101 100 ar + 102 102 101 1 + 103 103 87 1 + 104 104 99 ar + 105 105 104 1 + 106 106 21 ar + 107 107 106 1 + 108 15 29 1 + 109 16 45 1 + 110 18 45 1 + 111 23 29 ar + 112 30 37 ar + 113 36 37 ar + 114 42 44 ar + 115 88 90 ar + 116 96 98 ar + 117 99 100 ar + 118 101 106 ar +@SUBSTRUCTURE + 1 RES1 1 GROUP 0 **** **** 0 diff --git a/bluephos/modules/octahedral_embed/MAXYIU.mol2 b/bluephos/modules/octahedral_embed/MAXYIU.mol2 new file mode 100644 index 0000000..a285d50 --- /dev/null +++ b/bluephos/modules/octahedral_embed/MAXYIU.mol2 @@ -0,0 +1,187 @@ +@MOLECULE +01 + 82 93 1 0 0 +SMALL +NO_CHARGES +**** +Generated from the CSD + +@ATOM + 1 Ir1 7.5238 3.6188 4.9856 Ir 1 RES1 0.0000 + 2 N1 8.8638 5.0557 2.5167 N.pl3 1 RES1 0.0000 + 3 N2 8.4208 2.9344 2.2911 N.pl3 1 RES1 0.0000 + 4 N3 8.4542 6.2616 6.4483 N.pl3 1 RES1 0.0000 + 5 N4 6.4944 6.3055 5.4964 N.pl3 1 RES1 0.0000 + 6 N5 10.4291 2.5582 5.7102 N.pl3 1 RES1 0.0000 + 7 N6 8.8502 2.1882 7.1590 N.pl3 1 RES1 0.0000 + 8 C1 8.3562 3.9898 3.1805 C.3 1 RES1 0.0000 + 9 C2 9.2337 4.7067 1.2271 C.ar 1 RES1 0.0000 + 10 C3 9.7645 5.4465 0.1917 C.ar 1 RES1 0.0000 + 11 H1 9.9268 6.3766 0.2960 H 1 RES1 0.0000 + 12 C4 10.0568 4.8070 -1.0041 C.ar 1 RES1 0.0000 + 13 H2 10.4590 5.2877 -1.7174 H 1 RES1 0.0000 + 14 C5 9.7550 3.4548 -1.1501 C.ar 1 RES1 0.0000 + 15 H3 9.9196 3.0326 -1.9847 H 1 RES1 0.0000 + 16 C6 9.2265 2.7149 -0.1226 C.ar 1 RES1 0.0000 + 17 H4 9.0521 1.7890 -0.2373 H 1 RES1 0.0000 + 18 C7 8.9544 3.3294 1.0732 C.ar 1 RES1 0.0000 + 19 C8 7.8164 1.7075 2.7254 C.ar 1 RES1 0.0000 + 20 C9 7.8294 0.5559 1.9534 C.ar 1 RES1 0.0000 + 21 H5 8.2934 0.5288 1.1254 H 1 RES1 0.0000 + 22 C10 7.1468 -0.5559 2.4267 C.ar 1 RES1 0.0000 + 23 H6 7.1482 -1.3627 1.9260 H 1 RES1 0.0000 + 24 C11 6.4631 -0.4828 3.6303 C.ar 1 RES1 0.0000 + 25 H7 5.9578 -1.2289 3.9329 H 1 RES1 0.0000 + 26 C12 6.5126 0.6751 4.3984 C.ar 1 RES1 0.0000 + 27 H8 6.0539 0.6939 5.2304 H 1 RES1 0.0000 + 28 C13 7.2052 1.8037 3.9929 C.ar 1 RES1 0.0000 + 29 C14 8.9880 6.4059 3.0318 C.3 1 RES1 0.0000 + 30 H9 8.1022 6.8239 3.0722 H 1 RES1 0.0000 + 31 H10 9.5687 6.9304 2.4398 H 1 RES1 0.0000 + 32 H11 9.3773 6.3787 3.9303 H 1 RES1 0.0000 + 33 C15 7.5727 5.4946 5.7402 C.3 1 RES1 0.0000 + 34 C16 7.9313 7.5512 6.6335 C.ar 1 RES1 0.0000 + 35 C17 8.4825 8.6359 7.2802 C.ar 1 RES1 0.0000 + 36 H12 9.3577 8.6066 7.6506 H 1 RES1 0.0000 + 37 C18 7.6823 9.7833 7.3637 C.ar 1 RES1 0.0000 + 38 H13 8.0127 10.5524 7.8136 H 1 RES1 0.0000 + 39 C19 6.4359 9.8105 6.8095 C.ar 1 RES1 0.0000 + 40 H14 5.9217 10.6047 6.8943 H 1 RES1 0.0000 + 41 C20 5.8766 8.7341 6.1262 C.ar 1 RES1 0.0000 + 42 H15 5.0124 8.7759 5.7363 H 1 RES1 0.0000 + 43 C21 6.6802 7.5783 6.0506 C.ar 1 RES1 0.0000 + 44 C22 5.4388 5.7287 4.7348 C.ar 1 RES1 0.0000 + 45 C23 4.3154 6.4100 4.3475 C.ar 1 RES1 0.0000 + 46 H16 4.2119 7.3255 4.5797 H 1 RES1 0.0000 + 47 C24 3.3355 5.7684 3.6225 C.ar 1 RES1 0.0000 + 48 H17 2.5384 6.2261 3.3813 H 1 RES1 0.0000 + 49 C25 3.5299 4.4392 3.2457 C.ar 1 RES1 0.0000 + 50 H18 2.8691 3.9877 2.7345 H 1 RES1 0.0000 + 51 C26 4.6914 3.7787 3.6199 C.ar 1 RES1 0.0000 + 52 H19 4.8009 2.8696 3.3695 H 1 RES1 0.0000 + 53 C27 5.7153 4.4078 4.3580 C.ar 1 RES1 0.0000 + 54 C28 9.7543 5.8165 6.8956 C.3 1 RES1 0.0000 + 55 H20 10.1928 5.3149 6.1758 H 1 RES1 0.0000 + 56 H21 9.6521 5.2396 7.6793 H 1 RES1 0.0000 + 57 H22 10.3032 6.5940 7.1316 H 1 RES1 0.0000 + 58 C29 9.1035 2.7609 5.9397 C.3 1 RES1 0.0000 + 59 C30 11.0095 1.8664 6.7599 C.ar 1 RES1 0.0000 + 60 C31 12.3085 1.4108 6.9386 C.ar 1 RES1 0.0000 + 61 H23 12.9722 1.5382 6.2709 H 1 RES1 0.0000 + 62 C32 12.5966 0.7670 8.1291 C.ar 1 RES1 0.0000 + 63 H24 13.4779 0.4431 8.2778 H 1 RES1 0.0000 + 64 C33 11.6437 0.5852 9.0993 C.ar 1 RES1 0.0000 + 65 H25 11.8837 0.1651 9.9169 H 1 RES1 0.0000 + 66 C34 10.3324 1.0053 8.9076 C.ar 1 RES1 0.0000 + 67 H26 9.6708 0.8590 9.5740 H 1 RES1 0.0000 + 68 C35 10.0169 1.6427 7.7171 C.ar 1 RES1 0.0000 + 69 C36 7.5044 2.2154 7.6154 C.ar 1 RES1 0.0000 + 70 C37 7.0797 1.5800 8.7668 C.ar 1 RES1 0.0000 + 71 H27 7.6886 1.0973 9.3132 H 1 RES1 0.0000 + 72 C38 5.7389 1.6657 9.0980 C.ar 1 RES1 0.0000 + 73 H28 5.4198 1.2394 9.8830 H 1 RES1 0.0000 + 74 C39 4.8811 2.3554 8.3091 C.ar 1 RES1 0.0000 + 75 H29 3.9675 2.4328 8.5595 H 1 RES1 0.0000 + 76 C40 5.3306 2.9469 7.1394 C.ar 1 RES1 0.0000 + 77 H30 4.7033 3.4130 6.5983 H 1 RES1 0.0000 + 78 C41 6.6458 2.8905 6.7221 C.ar 1 RES1 0.0000 + 79 C42 11.1560 3.0201 4.5392 C.3 1 RES1 0.0000 + 80 H31 11.4458 2.2488 4.0085 H 1 RES1 0.0000 + 81 H32 11.9407 3.5342 4.8235 H 1 RES1 0.0000 + 82 H33 10.5731 3.5906 3.9955 H 1 RES1 0.0000 +@BOND + 1 1 8 1 + 2 2 8 1 + 3 3 8 1 + 4 4 33 1 + 5 5 33 1 + 6 6 58 1 + 7 7 58 1 + 8 9 2 1 + 9 10 9 ar + 10 11 10 1 + 11 12 10 ar + 12 13 12 1 + 13 14 12 ar + 14 15 14 1 + 15 16 14 ar + 16 17 16 1 + 17 18 3 1 + 18 19 3 1 + 19 20 19 ar + 20 21 20 1 + 21 22 20 ar + 22 23 22 1 + 23 24 22 ar + 24 25 24 1 + 25 26 24 ar + 26 27 26 1 + 27 28 1 1 + 28 29 2 1 + 29 30 29 1 + 30 31 29 1 + 31 32 29 1 + 32 33 1 1 + 33 34 4 1 + 34 35 34 ar + 35 36 35 1 + 36 37 35 ar + 37 38 37 1 + 38 39 37 ar + 39 40 39 1 + 40 41 39 ar + 41 42 41 1 + 42 43 5 1 + 43 44 5 1 + 44 45 44 ar + 45 46 45 1 + 46 47 45 ar + 47 48 47 1 + 48 49 47 ar + 49 50 49 1 + 50 51 49 ar + 51 52 51 1 + 52 53 1 1 + 53 54 4 1 + 54 55 54 1 + 55 56 54 1 + 56 57 54 1 + 57 58 1 1 + 58 59 6 1 + 59 60 59 ar + 60 61 60 1 + 61 62 60 ar + 62 63 62 1 + 63 64 62 ar + 64 65 64 1 + 65 66 64 ar + 66 67 66 1 + 67 68 7 1 + 68 69 7 1 + 69 70 69 ar + 70 71 70 1 + 71 72 70 ar + 72 73 72 1 + 73 74 72 ar + 74 75 74 1 + 75 76 74 ar + 76 77 76 1 + 77 78 1 1 + 78 79 6 1 + 79 80 79 1 + 80 81 79 1 + 81 82 79 1 + 82 9 18 ar + 83 16 18 ar + 84 19 28 ar + 85 26 28 ar + 86 34 43 ar + 87 41 43 ar + 88 44 53 ar + 89 51 53 ar + 90 59 68 ar + 91 66 68 ar + 92 69 78 ar + 93 76 78 ar +@SUBSTRUCTURE + 1 RES1 1 GROUP 0 **** **** 0 diff --git a/bluephos/modules/octahedral_embed/MAXYOA.mol2 b/bluephos/modules/octahedral_embed/MAXYOA.mol2 new file mode 100644 index 0000000..e6a88f6 --- /dev/null +++ b/bluephos/modules/octahedral_embed/MAXYOA.mol2 @@ -0,0 +1,187 @@ +@MOLECULE +01 + 82 93 1 0 0 +SMALL +NO_CHARGES +**** +Generated from the CSD + +@ATOM + 1 Ir1 6.4022 4.6401 12.6719 Ir 1 RES1 0.0000 + 2 N1 6.2940 3.4360 15.5835 N.pl3 1 RES1 0.0000 + 3 N2 7.9241 2.7974 14.3103 N.pl3 1 RES1 0.0000 + 4 N3 3.9360 6.4321 13.6472 N.pl3 1 RES1 0.0000 + 5 N4 3.4730 4.5618 12.6659 N.pl3 1 RES1 0.0000 + 6 N5 6.5409 5.7403 9.7094 N.pl3 1 RES1 0.0000 + 7 N6 7.3797 6.9834 11.2638 N.pl3 1 RES1 0.0000 + 8 C1 6.7727 3.5428 14.3258 C.3 1 RES1 0.0000 + 9 C2 7.1765 2.6985 16.3910 C.ar 1 RES1 0.0000 + 10 C3 7.1408 2.4018 17.7450 C.ar 1 RES1 0.0000 + 11 H1 6.4033 2.6548 18.2885 H 1 RES1 0.0000 + 12 C4 8.2227 1.7191 18.2729 C.ar 1 RES1 0.0000 + 13 H2 8.2292 1.4890 19.1953 H 1 RES1 0.0000 + 14 C5 9.2962 1.3673 17.4733 C.ar 1 RES1 0.0000 + 15 H3 10.0384 0.9261 17.8708 H 1 RES1 0.0000 + 16 C6 9.3261 1.6317 16.1270 C.ar 1 RES1 0.0000 + 17 H4 10.0591 1.3673 15.5835 H 1 RES1 0.0000 + 18 C7 8.2289 2.3087 15.5929 C.ar 1 RES1 0.0000 + 19 C8 8.6186 2.7042 13.0882 C.ar 1 RES1 0.0000 + 20 C9 9.6065 1.7800 12.8476 C.ar 1 RES1 0.0000 + 21 H5 9.8862 1.1886 13.5370 H 1 RES1 0.0000 + 22 C10 10.1959 1.7115 11.5898 C.ar 1 RES1 0.0000 + 23 H6 10.8770 1.0745 11.4097 H 1 RES1 0.0000 + 24 C11 9.7783 2.5844 10.6100 C.ar 1 RES1 0.0000 + 25 H7 10.1892 2.5616 9.7545 H 1 RES1 0.0000 + 26 C12 8.7579 3.5029 10.8600 C.ar 1 RES1 0.0000 + 27 H8 8.4907 4.0886 10.1613 H 1 RES1 0.0000 + 28 C13 8.1081 3.5980 12.1038 C.ar 1 RES1 0.0000 + 29 C14 5.0835 4.0468 16.0991 C.3 1 RES1 0.0000 + 30 H9 5.3188 4.7866 16.6969 H 1 RES1 0.0000 + 31 H10 4.5659 3.3793 16.5959 H 1 RES1 0.0000 + 32 H11 4.5466 4.3872 15.3537 H 1 RES1 0.0000 + 33 C15 4.5312 5.3495 13.0851 C.3 1 RES1 0.0000 + 34 C16 2.5451 6.3516 13.5743 C.ar 1 RES1 0.0000 + 35 C17 1.5804 7.2454 14.0013 C.ar 1 RES1 0.0000 + 36 H12 1.8103 8.0556 14.4423 H 1 RES1 0.0000 + 37 C18 0.2601 6.9012 13.7528 C.ar 1 RES1 0.0000 + 38 H13 -0.4368 7.4832 14.0339 H 1 RES1 0.0000 + 39 C19 -0.0552 5.7165 13.0991 C.ar 1 RES1 0.0000 + 40 H14 -0.9685 5.5149 12.9299 H 1 RES1 0.0000 + 41 C20 0.9079 4.8284 12.6861 C.ar 1 RES1 0.0000 + 42 H15 0.6746 4.0202 12.2467 H 1 RES1 0.0000 + 43 C21 2.2426 5.1574 12.9361 C.ar 1 RES1 0.0000 + 44 C22 3.8016 3.3165 12.0355 C.ar 1 RES1 0.0000 + 45 C23 2.8549 2.3942 11.6550 C.ar 1 RES1 0.0000 + 46 H16 1.9304 2.5825 11.7653 H 1 RES1 0.0000 + 47 C24 3.2599 1.1962 11.1162 C.ar 1 RES1 0.0000 + 48 H17 2.6140 0.5439 10.8756 H 1 RES1 0.0000 + 49 C25 4.5982 0.9432 10.9284 C.ar 1 RES1 0.0000 + 50 H18 4.8790 0.1217 10.5448 H 1 RES1 0.0000 + 51 C26 5.5351 1.8979 11.3010 C.ar 1 RES1 0.0000 + 52 H19 6.4564 1.7115 11.1582 H 1 RES1 0.0000 + 53 C27 5.1763 3.1321 11.8818 C.ar 1 RES1 0.0000 + 54 C28 4.6184 7.6011 14.1969 C.3 1 RES1 0.0000 + 55 H20 5.5013 7.3367 14.5308 H 1 RES1 0.0000 + 56 H21 4.0877 7.9719 14.9345 H 1 RES1 0.0000 + 57 H22 4.7224 8.2781 13.4966 H 1 RES1 0.0000 + 58 C29 6.6540 5.8420 11.0541 C.3 1 RES1 0.0000 + 59 C30 7.2534 6.7624 9.0588 C.ar 1 RES1 0.0000 + 60 C31 7.4901 7.0039 7.7219 C.ar 1 RES1 0.0000 + 61 H23 7.0938 6.4715 7.0418 H 1 RES1 0.0000 + 62 C32 8.3328 8.0594 7.4222 C.ar 1 RES1 0.0000 + 63 H24 8.5109 8.2647 6.5123 H 1 RES1 0.0000 + 64 C33 8.9261 8.8276 8.4144 C.ar 1 RES1 0.0000 + 65 H25 9.5188 9.5294 8.1675 H 1 RES1 0.0000 + 66 C34 8.6716 8.5956 9.7545 C.ar 1 RES1 0.0000 + 67 H26 9.0680 9.1281 10.4330 H 1 RES1 0.0000 + 68 C35 7.8175 7.5554 10.0635 C.ar 1 RES1 0.0000 + 69 C36 7.6931 7.3120 12.6116 C.ar 1 RES1 0.0000 + 70 C37 8.0703 8.5956 12.9951 C.ar 1 RES1 0.0000 + 71 H27 8.1410 9.2955 12.3569 H 1 RES1 0.0000 + 72 C38 8.3367 8.8257 14.3274 C.ar 1 RES1 0.0000 + 73 H28 8.5954 9.6929 14.6162 H 1 RES1 0.0000 + 74 C39 8.2305 7.7950 15.2404 C.ar 1 RES1 0.0000 + 75 H29 8.4680 7.9434 16.1487 H 1 RES1 0.0000 + 76 C40 7.7721 6.5323 14.8382 C.ar 1 RES1 0.0000 + 77 H30 7.6865 5.8458 15.4888 H 1 RES1 0.0000 + 78 C41 7.4371 6.2509 13.5028 C.ar 1 RES1 0.0000 + 79 C42 5.8113 4.7143 8.9936 C.3 1 RES1 0.0000 + 80 H31 5.2348 4.2275 9.6194 H 1 RES1 0.0000 + 81 H32 6.4444 4.0924 8.5790 H 1 RES1 0.0000 + 82 H33 5.2594 5.1308 8.2980 H 1 RES1 0.0000 +@BOND + 1 1 8 1 + 2 2 8 1 + 3 3 8 1 + 4 4 33 1 + 5 5 33 1 + 6 6 58 1 + 7 7 58 1 + 8 9 2 1 + 9 10 9 ar + 10 11 10 1 + 11 12 10 ar + 12 13 12 1 + 13 14 12 ar + 14 15 14 1 + 15 16 14 ar + 16 17 16 1 + 17 18 3 1 + 18 19 3 1 + 19 20 19 ar + 20 21 20 1 + 21 22 20 ar + 22 23 22 1 + 23 24 22 ar + 24 25 24 1 + 25 26 24 ar + 26 27 26 1 + 27 28 1 1 + 28 29 2 1 + 29 30 29 1 + 30 31 29 1 + 31 32 29 1 + 32 33 1 1 + 33 34 4 1 + 34 35 34 ar + 35 36 35 1 + 36 37 35 ar + 37 38 37 1 + 38 39 37 ar + 39 40 39 1 + 40 41 39 ar + 41 42 41 1 + 42 43 5 1 + 43 44 5 1 + 44 45 44 ar + 45 46 45 1 + 46 47 45 ar + 47 48 47 1 + 48 49 47 ar + 49 50 49 1 + 50 51 49 ar + 51 52 51 1 + 52 53 1 1 + 53 54 4 1 + 54 55 54 1 + 55 56 54 1 + 56 57 54 1 + 57 58 1 1 + 58 59 6 1 + 59 60 59 ar + 60 61 60 1 + 61 62 60 ar + 62 63 62 1 + 63 64 62 ar + 64 65 64 1 + 65 66 64 ar + 66 67 66 1 + 67 68 7 1 + 68 69 7 1 + 69 70 69 ar + 70 71 70 1 + 71 72 70 ar + 72 73 72 1 + 73 74 72 ar + 74 75 74 1 + 75 76 74 ar + 76 77 76 1 + 77 78 1 1 + 78 79 6 1 + 79 80 79 1 + 80 81 79 1 + 81 82 79 1 + 82 9 18 ar + 83 16 18 ar + 84 19 28 ar + 85 26 28 ar + 86 34 43 ar + 87 41 43 ar + 88 44 53 ar + 89 51 53 ar + 90 59 68 ar + 91 66 68 ar + 92 69 78 ar + 93 76 78 ar +@SUBSTRUCTURE + 1 RES1 1 GROUP 0 **** **** 0 diff --git a/bluephos/modules/octahedral_embed/OHUZEW.mol2 b/bluephos/modules/octahedral_embed/OHUZEW.mol2 new file mode 100644 index 0000000..3c32947 --- /dev/null +++ b/bluephos/modules/octahedral_embed/OHUZEW.mol2 @@ -0,0 +1,148 @@ +@MOLECULE +01 + 64 72 1 0 0 +SMALL +NO_CHARGES +**** +Generated from the CSD + +@ATOM + 1 Ir1 12.5412 0.5771 4.3070 Ir 1 RES1 0.0000 + 2 N1 14.1173 0.1196 2.9751 N.2 1 RES1 0.0000 + 3 N2 14.9105 -0.8935 3.4037 N.pl3 1 RES1 0.0000 + 4 N3 11.2529 -0.8507 3.4239 N.2 1 RES1 0.0000 + 5 N4 10.1499 -1.1121 4.1727 N.pl3 1 RES1 0.0000 + 6 N5 11.9130 2.1798 3.0823 N.2 1 RES1 0.0000 + 7 N6 12.6046 3.3107 3.3147 N.pl3 1 RES1 0.0000 + 8 F1 15.0891 -2.5317 9.4097 F 1 RES1 0.0000 + 9 F2 13.6026 -3.9018 8.8027 F 1 RES1 0.0000 + 10 F3 13.0283 -1.9133 9.3369 F 1 RES1 0.0000 + 11 F4 10.6629 1.9953 9.6000 F 1 RES1 0.0000 + 12 F5 8.5425 1.5768 9.5919 F 1 RES1 0.0000 + 13 F6 9.2867 3.2578 8.5315 F 1 RES1 0.0000 + 14 F7 16.9468 2.6377 7.8313 F 1 RES1 0.0000 + 15 F8 15.1661 2.7846 9.0131 F 1 RES1 0.0000 + 16 F9 16.1834 4.5373 8.3413 F 1 RES1 0.0000 + 17 C1 13.5431 -0.8200 5.3585 C.ar 1 RES1 0.0000 + 18 C2 14.6391 -1.4179 4.7109 C.ar 1 RES1 0.0000 + 19 C3 15.4445 -2.3951 5.2654 C.ar 1 RES1 0.0000 + 20 H1 16.1466 -2.7692 4.7838 H 1 RES1 0.0000 + 21 C4 15.1696 -2.7965 6.5565 C.ar 1 RES1 0.0000 + 22 H2 15.6826 -3.4679 6.9490 H 1 RES1 0.0000 + 23 C5 14.1611 -2.2242 7.2599 C.ar 1 RES1 0.0000 + 24 C6 13.3610 -1.2437 6.6900 C.ar 1 RES1 0.0000 + 25 H3 12.6886 -0.8542 7.2040 H 1 RES1 0.0000 + 26 C7 10.9973 0.6030 5.5973 C.ar 1 RES1 0.0000 + 27 C8 9.9958 -0.3553 5.3666 C.ar 1 RES1 0.0000 + 28 C9 8.9452 -0.6167 6.2165 C.ar 1 RES1 0.0000 + 29 H4 8.3307 -1.2881 6.0303 H 1 RES1 0.0000 + 30 C10 8.8349 0.1537 7.3619 C.ar 1 RES1 0.0000 + 31 H5 8.1398 -0.0017 7.9608 H 1 RES1 0.0000 + 32 C11 9.7436 1.1377 7.6193 C.ar 1 RES1 0.0000 + 33 C12 10.8239 1.3684 6.7548 C.ar 1 RES1 0.0000 + 34 H6 11.4350 2.0397 6.9571 H 1 RES1 0.0000 + 35 C13 13.5431 2.1132 5.1440 C.ar 1 RES1 0.0000 + 36 C14 13.4520 3.3347 4.4681 C.ar 1 RES1 0.0000 + 37 C15 14.1016 4.4792 4.8647 C.ar 1 RES1 0.0000 + 38 H7 14.0210 5.2565 4.3629 H 1 RES1 0.0000 + 39 C16 14.8632 4.4724 5.9858 C.ar 1 RES1 0.0000 + 40 H8 15.3167 5.2412 6.2489 H 1 RES1 0.0000 + 41 C17 14.9578 3.3227 6.7252 C.ar 1 RES1 0.0000 + 42 C18 14.2977 2.1627 6.3339 C.ar 1 RES1 0.0000 + 43 H9 14.3572 1.4025 6.8641 H 1 RES1 0.0000 + 44 C19 14.5481 0.4390 1.7565 C.2 1 RES1 0.0000 + 45 H10 14.1856 1.1087 1.2223 H 1 RES1 0.0000 + 46 C20 15.6108 -0.3724 1.4044 C.2 1 RES1 0.0000 + 47 H11 16.0853 -0.3622 0.6030 H 1 RES1 0.0000 + 48 C21 15.8174 -1.1856 2.4647 C.2 1 RES1 0.0000 + 49 H12 16.4793 -1.8365 2.5335 H 1 RES1 0.0000 + 50 C22 11.1584 -1.5990 2.3271 C.2 1 RES1 0.0000 + 51 H13 11.7834 -1.6110 1.6391 H 1 RES1 0.0000 + 52 C23 10.0098 -2.3507 2.3555 C.2 1 RES1 0.0000 + 53 H14 9.7139 -2.9554 1.7160 H 1 RES1 0.0000 + 54 C24 9.4022 -2.0261 3.5211 C.2 1 RES1 0.0000 + 55 H15 8.5968 -2.3763 3.8246 H 1 RES1 0.0000 + 56 C25 11.1934 2.3934 1.9831 C.2 1 RES1 0.0000 + 57 H16 10.6313 1.7750 1.5744 H 1 RES1 0.0000 + 58 C26 11.4175 3.6866 1.5541 C.2 1 RES1 0.0000 + 59 H17 11.0165 4.1017 0.8216 H 1 RES1 0.0000 + 60 C27 12.3209 4.2315 2.3878 C.2 1 RES1 0.0000 + 61 H18 12.6799 5.0874 2.3312 H 1 RES1 0.0000 + 62 C28 13.9650 -2.5762 8.7136 C.3 1 RES1 0.0000 + 63 C29 9.5931 1.9902 8.8472 C.3 1 RES1 0.0000 + 64 C30 15.7947 3.2783 7.9730 C.3 1 RES1 0.0000 +@BOND + 1 1 2 1 + 2 2 3 1 + 3 3 18 1 + 4 4 1 1 + 5 5 4 1 + 6 6 1 1 + 7 7 6 1 + 8 8 62 1 + 9 9 62 1 + 10 10 62 1 + 11 11 63 1 + 12 12 63 1 + 13 13 63 1 + 14 14 64 1 + 15 15 64 1 + 16 16 64 1 + 17 17 1 1 + 18 18 17 ar + 19 19 18 ar + 20 20 19 1 + 21 21 19 ar + 22 22 21 1 + 23 23 21 ar + 24 24 17 ar + 25 25 24 1 + 26 26 1 1 + 27 27 5 1 + 28 28 27 ar + 29 29 28 1 + 30 30 28 ar + 31 31 30 1 + 32 32 30 ar + 33 33 26 ar + 34 34 33 1 + 35 35 1 1 + 36 36 7 1 + 37 37 36 ar + 38 38 37 1 + 39 39 37 ar + 40 40 39 1 + 41 41 39 ar + 42 42 35 ar + 43 43 42 1 + 44 44 2 2 + 45 45 44 1 + 46 46 44 1 + 47 47 46 1 + 48 48 3 1 + 49 49 48 1 + 50 50 4 2 + 51 51 50 1 + 52 52 50 1 + 53 53 52 1 + 54 54 5 1 + 55 55 54 1 + 56 56 6 2 + 57 57 56 1 + 58 58 56 1 + 59 59 58 1 + 60 60 7 1 + 61 61 60 1 + 62 62 23 1 + 63 63 32 1 + 64 64 41 1 + 65 23 24 ar + 66 26 27 ar + 67 32 33 ar + 68 35 36 ar + 69 41 42 ar + 70 46 48 2 + 71 52 54 2 + 72 58 60 2 +@SUBSTRUCTURE + 1 RES1 1 GROUP 0 **** **** 0 diff --git a/bluephos/modules/octahedral_embed/OHUZIA.mol2 b/bluephos/modules/octahedral_embed/OHUZIA.mol2 new file mode 100644 index 0000000..109924b --- /dev/null +++ b/bluephos/modules/octahedral_embed/OHUZIA.mol2 @@ -0,0 +1,148 @@ +@MOLECULE +01 + 64 72 1 0 0 +SMALL +NO_CHARGES +**** +Generated from the CSD + +@ATOM + 1 Ir1 6.3077 7.9263 10.4143 Ir 1 RES1 0.0000 + 2 N1 6.5986 7.4569 8.3943 N.2 1 RES1 0.0000 + 3 N2 5.8284 8.1785 7.5299 N.pl3 1 RES1 0.0000 + 4 N3 7.6246 9.4476 10.2976 N.2 1 RES1 0.0000 + 5 N4 7.7810 10.1576 11.4548 N.pl3 1 RES1 0.0000 + 6 N5 5.1185 6.3345 10.8027 N.2 1 RES1 0.0000 + 7 N6 5.7402 5.2772 11.3972 N.pl3 1 RES1 0.0000 + 8 F1 0.7789 11.5466 9.3028 F 1 RES1 0.0000 + 9 F2 2.3815 12.7422 9.9564 F 1 RES1 0.0000 + 10 F3 1.6929 11.2258 11.1788 F 1 RES1 0.0000 + 11 F4 2.9660 9.5011 15.3251 F 1 RES1 0.0000 + 12 F5 4.4924 8.8998 16.6688 F 1 RES1 0.0000 + 13 F6 3.6366 7.5257 15.3479 F 1 RES1 0.0000 + 14 F7 11.8083 6.9392 11.7900 F 1 RES1 0.0000 + 15 F8 11.8460 5.2240 12.9896 F 1 RES1 0.0000 + 16 F9 11.9789 5.0919 10.9028 F 1 RES1 0.0000 + 17 C1 4.8248 9.0485 9.4969 C.ar 1 RES1 0.0000 + 18 C2 4.8635 9.0634 8.1077 C.ar 1 RES1 0.0000 + 19 C3 4.0350 9.8246 7.3145 C.ar 1 RES1 0.0000 + 20 H1 4.1309 9.8077 6.3894 H 1 RES1 0.0000 + 21 C4 3.0758 10.5970 7.8878 C.ar 1 RES1 0.0000 + 22 H2 2.5214 11.1289 7.3630 H 1 RES1 0.0000 + 23 C5 2.9400 10.5815 9.2664 C.ar 1 RES1 0.0000 + 24 C6 3.7981 9.8283 10.0413 C.ar 1 RES1 0.0000 + 25 H3 3.6899 9.8382 10.9649 H 1 RES1 0.0000 + 26 C7 6.0597 8.7249 12.2207 C.ar 1 RES1 0.0000 + 27 C8 6.9117 9.8090 12.5164 C.ar 1 RES1 0.0000 + 28 C9 6.9128 10.4954 13.7191 C.ar 1 RES1 0.0000 + 29 H4 7.5207 11.1797 13.8722 H 1 RES1 0.0000 + 30 C10 5.9948 10.1397 14.6851 C.ar 1 RES1 0.0000 + 31 H5 5.9733 10.5869 15.4995 H 1 RES1 0.0000 + 32 C11 5.1043 9.1084 14.4258 C.ar 1 RES1 0.0000 + 33 C12 5.1336 8.4265 13.2171 C.ar 1 RES1 0.0000 + 34 H6 4.5142 7.7479 13.0684 H 1 RES1 0.0000 + 35 C13 7.7103 6.5588 11.1242 C.ar 1 RES1 0.0000 + 36 C14 7.1453 5.3771 11.5670 C.ar 1 RES1 0.0000 + 37 C15 7.8685 4.3391 12.1039 C.ar 1 RES1 0.0000 + 38 H7 7.4381 3.5640 12.3905 H 1 RES1 0.0000 + 39 C16 9.2378 4.4583 12.2131 C.ar 1 RES1 0.0000 + 40 H8 9.7395 3.7672 12.5847 H 1 RES1 0.0000 + 41 C17 9.8526 5.5997 11.7702 C.ar 1 RES1 0.0000 + 42 C18 9.0974 6.6279 11.2319 C.ar 1 RES1 0.0000 + 43 H9 9.5324 7.3922 10.9301 H 1 RES1 0.0000 + 44 C19 7.3615 6.6909 7.6375 C.2 1 RES1 0.0000 + 45 H10 7.9582 6.0540 7.9591 H 1 RES1 0.0000 + 46 C20 7.1454 6.9721 6.2969 C.2 1 RES1 0.0000 + 47 H11 7.5871 6.5960 5.5704 H 1 RES1 0.0000 + 48 C21 6.1588 7.9037 6.2574 C.2 1 RES1 0.0000 + 49 H12 5.7839 8.2798 5.4931 H 1 RES1 0.0000 + 50 C22 8.5028 9.9510 9.4529 C.2 1 RES1 0.0000 + 51 H13 8.6352 9.6417 8.5854 H 1 RES1 0.0000 + 52 C23 9.1945 10.9900 10.0156 C.2 1 RES1 0.0000 + 53 H14 9.8473 11.5117 9.6091 H 1 RES1 0.0000 + 54 C24 8.7308 11.1086 11.3031 C.2 1 RES1 0.0000 + 55 H15 9.0139 11.7218 11.9431 H 1 RES1 0.0000 + 56 C25 3.8368 6.0269 10.7208 C.2 1 RES1 0.0000 + 57 H16 3.1794 6.5588 10.3356 H 1 RES1 0.0000 + 58 C26 3.6237 4.7666 11.3062 C.2 1 RES1 0.0000 + 59 H17 2.8093 4.3296 11.3987 H 1 RES1 0.0000 + 60 C27 4.8577 4.3161 11.7141 C.2 1 RES1 0.0000 + 61 H18 5.0436 3.5030 12.1282 H 1 RES1 0.0000 + 62 C28 1.9253 11.4413 9.8988 C.3 1 RES1 0.0000 + 63 C29 4.0529 8.7880 15.4222 C.3 1 RES1 0.0000 + 64 C30 11.3216 5.6868 11.8946 C.3 1 RES1 0.0000 +@BOND + 1 1 2 1 + 2 2 3 1 + 3 3 18 1 + 4 4 1 1 + 5 5 4 1 + 6 6 1 1 + 7 7 6 1 + 8 8 62 1 + 9 9 62 1 + 10 10 62 1 + 11 11 63 1 + 12 12 63 1 + 13 13 63 1 + 14 14 64 1 + 15 15 64 1 + 16 16 64 1 + 17 17 1 1 + 18 18 17 ar + 19 19 18 ar + 20 20 19 1 + 21 21 19 ar + 22 22 21 1 + 23 23 21 ar + 24 24 17 ar + 25 25 24 1 + 26 26 1 1 + 27 27 5 1 + 28 28 27 ar + 29 29 28 1 + 30 30 28 ar + 31 31 30 1 + 32 32 30 ar + 33 33 26 ar + 34 34 33 1 + 35 35 1 1 + 36 36 7 1 + 37 37 36 ar + 38 38 37 1 + 39 39 37 ar + 40 40 39 1 + 41 41 39 ar + 42 42 35 ar + 43 43 42 1 + 44 44 2 2 + 45 45 44 1 + 46 46 44 1 + 47 47 46 1 + 48 48 3 1 + 49 49 48 1 + 50 50 4 2 + 51 51 50 1 + 52 52 50 1 + 53 53 52 1 + 54 54 5 1 + 55 55 54 1 + 56 56 6 2 + 57 57 56 1 + 58 58 56 1 + 59 59 58 1 + 60 60 7 1 + 61 61 60 1 + 62 62 23 1 + 63 63 32 1 + 64 64 41 1 + 65 23 24 ar + 66 26 27 ar + 67 32 33 ar + 68 35 36 ar + 69 41 42 ar + 70 46 48 2 + 71 52 54 2 + 72 58 60 2 +@SUBSTRUCTURE + 1 RES1 1 GROUP 0 **** **** 0 diff --git a/bluephos/modules/octahedral_embed/SOYNOM.mol2 b/bluephos/modules/octahedral_embed/SOYNOM.mol2 new file mode 100644 index 0000000..f285145 --- /dev/null +++ b/bluephos/modules/octahedral_embed/SOYNOM.mol2 @@ -0,0 +1,189 @@ +@MOLECULE +02 + 84 93 1 0 0 +SMALL +NO_CHARGES +**** +Generated from the CSD + +@ATOM + 1 Ir2 5.0007 7.5926 5.0937 Ir 1 RES1 0.0000 + 2 N9 6.6144 7.1068 6.2628 N.ar 1 RES1 0.0000 + 3 N10 8.9666 6.9501 6.3737 N.ar 1 RES1 0.0000 + 4 N11 4.1860 7.4153 7.0525 N.2 1 RES1 0.0000 + 5 N12 2.9823 7.6185 7.6004 N.2 1 RES1 0.0000 + 6 N13 5.6472 10.6389 5.8744 N.pl3 1 RES1 0.0000 + 7 N14 4.1382 10.2809 4.3951 N.pl3 1 RES1 0.0000 + 8 N15 3.2842 5.8703 3.4870 N.pl3 1 RES1 0.0000 + 9 N16 4.4189 4.4688 4.6434 N.pl3 1 RES1 0.0000 + 10 C41 6.4701 7.5809 3.7011 C.ar 1 RES1 0.0000 + 11 C42 6.3892 7.7814 2.3119 C.ar 1 RES1 0.0000 + 12 H45 5.5515 7.9562 1.9000 H 1 RES1 0.0000 + 13 C43 7.5352 7.7222 1.5558 C.ar 1 RES1 0.0000 + 14 C44 8.7951 7.4833 2.0671 C.ar 1 RES1 0.0000 + 15 H46 9.5606 7.4501 1.5046 H 1 RES1 0.0000 + 16 C45 8.8975 7.2963 3.4293 C.ar 1 RES1 0.0000 + 17 H47 9.7500 7.1444 3.8200 H 1 RES1 0.0000 + 18 C46 7.7618 7.3263 4.2380 C.ar 1 RES1 0.0000 + 19 C47 7.8386 7.0985 5.6853 C.ar 1 RES1 0.0000 + 20 C48 8.8605 6.7677 7.7131 C.ar 1 RES1 0.0000 + 21 C49 7.6227 6.7175 8.3487 C.ar 1 RES1 0.0000 + 22 H48 7.5622 6.5430 9.2793 H 1 RES1 0.0000 + 23 C50 6.4771 6.9298 7.5882 C.ar 1 RES1 0.0000 + 24 C51 5.0940 7.0750 8.0190 C.2 1 RES1 0.0000 + 25 C52 4.4450 7.0479 9.2483 C.2 1 RES1 0.0000 + 26 H49 4.8075 6.8412 10.1011 H 1 RES1 0.0000 + 27 C53 3.1476 7.3941 8.9300 C.2 1 RES1 0.0000 + 28 C54 1.9759 7.5425 9.8247 C.3 1 RES1 0.0000 + 29 C55 10.1765 6.7266 8.4673 C.3 1 RES1 0.0000 + 30 C56 11.1809 5.8637 7.7082 C.3 1 RES1 0.0000 + 31 H50 10.8174 4.9610 7.5979 H 1 RES1 0.0000 + 32 H51 12.0201 5.8192 8.2121 H 1 RES1 0.0000 + 33 H52 11.3480 6.2569 6.8269 H 1 RES1 0.0000 + 34 C57 10.6860 8.1723 8.5586 C.3 1 RES1 0.0000 + 35 H53 10.8120 8.5308 7.6554 H 1 RES1 0.0000 + 36 H54 11.5388 8.1885 9.0384 H 1 RES1 0.0000 + 37 H55 10.0304 8.7190 9.0384 H 1 RES1 0.0000 + 38 C58 10.0139 6.1429 9.8767 C.3 1 RES1 0.0000 + 39 H56 9.4260 6.7214 10.4038 H 1 RES1 0.0000 + 40 H57 10.8913 6.0857 10.3088 H 1 RES1 0.0000 + 41 H58 9.6218 5.2471 9.8161 H 1 RES1 0.0000 + 42 C59 5.0329 9.6389 5.2138 C.3 1 RES1 0.0000 + 43 C60 5.1496 11.8729 5.4759 C.2 1 RES1 0.0000 + 44 H59 5.4243 12.7216 5.8017 H 1 RES1 0.0000 + 45 C61 4.2096 11.6487 4.5486 C.2 1 RES1 0.0000 + 46 H60 3.6954 12.3010 4.0873 H 1 RES1 0.0000 + 47 C62 3.2897 9.4523 3.6015 C.ar 1 RES1 0.0000 + 48 C63 2.3273 9.8626 2.6888 C.ar 1 RES1 0.0000 + 49 H61 2.1582 10.7876 2.5452 H 1 RES1 0.0000 + 50 C64 1.6115 8.8907 1.9853 C.ar 1 RES1 0.0000 + 51 C65 1.8916 7.5315 2.2047 C.ar 1 RES1 0.0000 + 52 H62 1.4247 6.8608 1.7211 H 1 RES1 0.0000 + 53 C66 2.8537 7.1823 3.1306 C.ar 1 RES1 0.0000 + 54 C67 3.5560 8.1254 3.8527 C.ar 1 RES1 0.0000 + 55 C68 2.8301 4.6141 3.1373 C.2 1 RES1 0.0000 + 56 H63 2.1501 4.4109 2.5076 H 1 RES1 0.0000 + 57 C69 3.5427 3.7351 3.8650 C.2 1 RES1 0.0000 + 58 H64 3.4600 2.7898 3.8465 H 1 RES1 0.0000 + 59 C70 4.2827 5.7872 4.4350 C.3 1 RES1 0.0000 + 60 C71 6.6597 10.4443 6.9106 C.3 1 RES1 0.0000 + 61 H65 6.2236 10.1739 7.7460 H 1 RES1 0.0000 + 62 H66 7.1471 11.2815 7.0522 H 1 RES1 0.0000 + 63 H67 7.2854 9.7460 6.6280 H 1 RES1 0.0000 + 64 C72 0.5338 9.2594 0.9595 C.3 1 RES1 0.0000 + 65 C73 0.2170 10.7411 0.9511 C.3 1 RES1 0.0000 + 66 H68 1.0199 11.2448 0.6982 H 1 RES1 0.0000 + 67 H69 -0.0751 11.0174 1.8448 H 1 RES1 0.0000 + 68 H70 -0.4964 10.9196 0.3049 H 1 RES1 0.0000 + 69 C74 0.9791 8.8249 -0.4306 C.3 1 RES1 0.0000 + 70 H71 0.2604 9.0002 -1.0737 H 1 RES1 0.0000 + 71 H72 1.1854 7.8657 -0.4220 H 1 RES1 0.0000 + 72 H73 1.7783 9.3279 -0.6893 H 1 RES1 0.0000 + 73 C75 -0.7783 8.5244 1.3057 C.3 1 RES1 0.0000 + 74 H74 -1.0807 8.7973 2.1961 H 1 RES1 0.0000 + 75 H75 -0.6234 7.5576 1.2947 H 1 RES1 0.0000 + 76 H76 -1.4640 8.7533 0.6429 H 1 RES1 0.0000 + 77 C76 5.3677 3.8871 5.5797 C.3 1 RES1 0.0000 + 78 H77 6.2341 3.7727 5.1367 H 1 RES1 0.0000 + 79 H78 5.0365 3.0147 5.8791 H 1 RES1 0.0000 + 80 H79 5.4698 4.4818 6.3519 H 1 RES1 0.0000 + 81 F5 7.4179 7.8970 0.2050 F 1 RES1 0.0000 + 82 F6 1.0225 6.6390 9.5886 F 1 RES1 0.0000 + 83 F7 1.3528 8.7058 9.7048 F 1 RES1 0.0000 + 84 F8 2.3101 7.3779 11.0914 F 1 RES1 0.0000 +@BOND + 1 1 2 1 + 2 2 19 ar + 3 3 19 ar + 4 4 1 1 + 5 5 4 1 + 6 6 42 1 + 7 7 42 1 + 8 8 53 1 + 9 9 57 1 + 10 10 1 1 + 11 11 10 ar + 12 12 11 1 + 13 13 11 ar + 14 14 13 ar + 15 15 14 1 + 16 16 14 ar + 17 17 16 1 + 18 18 10 ar + 19 19 18 1 + 20 20 3 ar + 21 21 20 ar + 22 22 21 1 + 23 23 2 ar + 24 24 4 1 + 25 25 24 2 + 26 26 25 1 + 27 27 5 2 + 28 28 27 1 + 29 29 20 1 + 30 30 29 1 + 31 31 30 1 + 32 32 30 1 + 33 33 30 1 + 34 34 29 1 + 35 35 34 1 + 36 36 34 1 + 37 37 34 1 + 38 38 29 1 + 39 39 38 1 + 40 40 38 1 + 41 41 38 1 + 42 42 1 1 + 43 43 6 1 + 44 44 43 1 + 45 45 7 1 + 46 46 45 1 + 47 47 7 1 + 48 48 47 ar + 49 49 48 1 + 50 50 48 ar + 51 51 50 ar + 52 52 51 1 + 53 53 51 ar + 54 54 1 1 + 55 55 8 1 + 56 56 55 1 + 57 57 55 2 + 58 58 57 1 + 59 59 1 1 + 60 60 6 1 + 61 61 60 1 + 62 62 60 1 + 63 63 60 1 + 64 64 50 1 + 65 65 64 1 + 66 66 65 1 + 67 67 65 1 + 68 68 65 1 + 69 69 64 1 + 70 70 69 1 + 71 71 69 1 + 72 72 69 1 + 73 73 64 1 + 74 74 73 1 + 75 75 73 1 + 76 76 73 1 + 77 77 9 1 + 78 78 77 1 + 79 79 77 1 + 80 80 77 1 + 81 81 13 1 + 82 82 28 1 + 83 83 28 1 + 84 84 28 1 + 85 8 59 1 + 86 9 59 1 + 87 16 18 ar + 88 21 23 ar + 89 23 24 1 + 90 25 27 1 + 91 43 45 2 + 92 47 54 ar + 93 53 54 ar +@SUBSTRUCTURE + 1 RES1 1 GROUP 0 **** **** 0 diff --git a/bluephos/modules/octahedral_embed/UYOKUR.mol2 b/bluephos/modules/octahedral_embed/UYOKUR.mol2 new file mode 100644 index 0000000..ed105eb --- /dev/null +++ b/bluephos/modules/octahedral_embed/UYOKUR.mol2 @@ -0,0 +1,195 @@ +@MOLECULE +02 + 86 97 1 0 0 +SMALL +NO_CHARGES +**** +Generated from the CSD + +@ATOM + 1 Ir2 4.9212 8.9382 24.4923 Ir 1 RES1 0.0000 + 2 O2 4.1966 12.2308 24.6888 O.3 1 RES1 0.0000 + 3 N8 6.0028 10.7780 24.5690 N.ar 1 RES1 0.0000 + 4 N9 6.9145 8.2946 24.3767 N.2 1 RES1 0.0000 + 5 N10 7.5031 7.0860 24.3332 N.2 1 RES1 0.0000 + 6 N11 5.0636 9.3212 21.3110 N.pl3 1 RES1 0.0000 + 7 N12 3.8401 7.7064 22.0917 N.pl3 1 RES1 0.0000 + 8 N13 4.0917 7.1816 26.6586 N.pl3 1 RES1 0.0000 + 9 N14 5.2326 8.7521 27.6492 N.pl3 1 RES1 0.0000 + 10 C42 3.1514 9.9570 24.7585 C.ar 1 RES1 0.0000 + 11 C43 1.8946 9.3478 24.9079 C.ar 1 RES1 0.0000 + 12 H33 1.8372 8.4008 24.8574 H 1 RES1 0.0000 + 13 C44 0.7463 10.0685 25.1227 C.ar 1 RES1 0.0000 + 14 C45 0.7313 11.4321 25.2176 C.ar 1 RES1 0.0000 + 15 H34 -0.0724 11.9142 25.3685 H 1 RES1 0.0000 + 16 C46 1.9416 12.0673 25.0813 C.ar 1 RES1 0.0000 + 17 H35 1.9819 13.0150 25.1434 H 1 RES1 0.0000 + 18 C47 3.1080 11.3483 24.8568 C.ar 1 RES1 0.0000 + 19 C48 5.5057 12.0075 24.5747 C.ar 1 RES1 0.0000 + 20 C49 6.2788 13.1623 24.4366 C.ar 1 RES1 0.0000 + 21 H36 5.8734 14.0206 24.3919 H 1 RES1 0.0000 + 22 C50 7.6282 13.0192 24.3675 C.ar 1 RES1 0.0000 + 23 H37 8.1835 13.7889 24.3067 H 1 RES1 0.0000 + 24 C51 8.2047 11.7487 24.3858 C.ar 1 RES1 0.0000 + 25 H38 9.1473 11.6452 24.3432 H 1 RES1 0.0000 + 26 C52 7.3842 10.6493 24.4658 C.ar 1 RES1 0.0000 + 27 C53 7.8478 9.2851 24.4117 C.2 1 RES1 0.0000 + 28 C54 9.1189 8.7091 24.3694 C.2 1 RES1 0.0000 + 29 H39 9.9664 9.1395 24.3706 H 1 RES1 0.0000 + 30 C55 8.8331 7.3290 24.3256 C.2 1 RES1 0.0000 + 31 C56 9.7990 6.2468 24.2538 C.3 1 RES1 0.0000 + 32 C57 4.6364 8.7778 22.4638 C.3 1 RES1 0.0000 + 33 C58 4.5711 8.6247 20.2048 C.ar 1 RES1 0.0000 + 34 C59 4.7651 8.8111 18.8448 C.ar 1 RES1 0.0000 + 35 H40 5.3101 9.5161 18.5137 H 1 RES1 0.0000 + 36 C60 4.1382 7.9377 18.0011 C.ar 1 RES1 0.0000 + 37 H41 4.2300 8.0511 17.0625 H 1 RES1 0.0000 + 38 C61 3.3669 6.8851 18.4873 C.ar 1 RES1 0.0000 + 39 H42 2.9638 6.2861 17.8687 H 1 RES1 0.0000 + 40 C62 3.1698 6.6838 19.8409 C.ar 1 RES1 0.0000 + 41 H43 2.6408 5.9633 20.1658 H 1 RES1 0.0000 + 42 C63 3.7783 7.5818 20.7013 C.ar 1 RES1 0.0000 + 43 C64 3.9230 7.2377 24.3578 C.ar 1 RES1 0.0000 + 44 C65 3.4059 6.8408 23.1399 C.ar 1 RES1 0.0000 + 45 C66 2.5377 5.7719 23.0352 C.ar 1 RES1 0.0000 + 46 H44 2.1783 5.5288 22.1891 H 1 RES1 0.0000 + 47 C67 2.1891 5.0461 24.1850 C.ar 1 RES1 0.0000 + 48 C68 2.7093 5.4427 25.4303 C.ar 1 RES1 0.0000 + 49 H45 2.4806 4.9681 26.2204 H 1 RES1 0.0000 + 50 C69 3.5682 6.5425 25.4878 C.ar 1 RES1 0.0000 + 51 C70 4.8075 8.3505 26.4419 C.3 1 RES1 0.0000 + 52 C71 4.0602 6.8814 28.0231 C.ar 1 RES1 0.0000 + 53 C72 3.4755 5.8605 28.7664 C.ar 1 RES1 0.0000 + 54 H46 2.9742 5.1688 28.3502 H 1 RES1 0.0000 + 55 C73 3.6574 5.8950 30.1395 C.ar 1 RES1 0.0000 + 56 H47 3.2739 5.2101 30.6716 H 1 RES1 0.0000 + 57 C74 4.3871 6.9120 30.7620 C.ar 1 RES1 0.0000 + 58 H48 4.4858 6.9069 31.7061 H 1 RES1 0.0000 + 59 C75 4.9682 7.9259 30.0236 C.ar 1 RES1 0.0000 + 60 H49 5.4703 8.6160 30.4404 H 1 RES1 0.0000 + 61 C76 4.7866 7.8907 28.6493 C.ar 1 RES1 0.0000 + 62 C77 6.0362 10.4015 21.2006 C.3 1 RES1 0.0000 + 63 H50 6.0258 10.9355 22.0218 H 1 RES1 0.0000 + 64 H51 5.8062 10.9707 20.4366 H 1 RES1 0.0000 + 65 H52 6.9302 10.0230 21.0695 H 1 RES1 0.0000 + 66 C78 1.1943 3.8886 24.0231 C.3 1 RES1 0.0000 + 67 C79 1.6287 2.9643 22.8858 C.3 1 RES1 0.0000 + 68 H53 2.5581 2.6858 23.0288 H 1 RES1 0.0000 + 69 H54 1.5581 3.4410 22.0309 H 1 RES1 0.0000 + 70 H55 1.0491 2.1726 22.8676 H 1 RES1 0.0000 + 71 C80 -0.1755 4.4715 23.6742 C.3 1 RES1 0.0000 + 72 H56 -0.8088 3.7410 23.5126 H 1 RES1 0.0000 + 73 H57 -0.1008 5.0239 22.8676 H 1 RES1 0.0000 + 74 H58 -0.4961 5.0239 24.4193 H 1 RES1 0.0000 + 75 C81 1.0736 3.0748 25.3089 C.3 1 RES1 0.0000 + 76 H59 1.9638 2.7872 25.5998 H 1 RES1 0.0000 + 77 H60 0.5142 2.2864 25.1464 H 1 RES1 0.0000 + 78 H61 0.6641 3.6252 26.0075 H 1 RES1 0.0000 + 79 C82 6.0333 9.9564 27.8759 C.3 1 RES1 0.0000 + 80 H62 6.6124 10.1161 27.0997 H 1 RES1 0.0000 + 81 H63 6.5866 9.8347 28.6758 H 1 RES1 0.0000 + 82 H64 5.4393 10.7245 28.0034 H 1 RES1 0.0000 + 83 F5 -0.4354 9.3874 25.2426 F 1 RES1 0.0000 + 84 F6 9.7959 5.4605 25.4148 F 1 RES1 0.0000 + 85 F7 9.5659 5.2846 23.3939 F 1 RES1 0.0000 + 86 F8 11.0646 6.5737 24.1850 F 1 RES1 0.0000 +@BOND + 1 1 3 1 + 2 2 18 1 + 3 3 19 ar + 4 4 1 1 + 5 5 4 1 + 6 6 32 1 + 7 7 32 1 + 8 8 50 1 + 9 9 51 1 + 10 10 1 1 + 11 11 10 ar + 12 12 11 1 + 13 13 11 ar + 14 14 13 ar + 15 15 14 1 + 16 16 14 ar + 17 17 16 1 + 18 18 10 ar + 19 19 2 1 + 20 20 19 ar + 21 21 20 1 + 22 22 20 ar + 23 23 22 1 + 24 24 22 ar + 25 25 24 1 + 26 26 3 ar + 27 27 4 1 + 28 28 27 2 + 29 29 28 1 + 30 30 5 2 + 31 31 30 1 + 32 32 1 1 + 33 33 6 1 + 34 34 33 ar + 35 35 34 1 + 36 36 34 ar + 37 37 36 1 + 38 38 36 ar + 39 39 38 1 + 40 40 38 ar + 41 41 40 1 + 42 42 7 1 + 43 43 1 1 + 44 44 7 1 + 45 45 44 ar + 46 46 45 1 + 47 47 45 ar + 48 48 47 ar + 49 49 48 1 + 50 50 43 ar + 51 51 1 1 + 52 52 8 1 + 53 53 52 ar + 54 54 53 1 + 55 55 53 ar + 56 56 55 1 + 57 57 55 ar + 58 58 57 1 + 59 59 57 ar + 60 60 59 1 + 61 61 9 1 + 62 62 6 1 + 63 63 62 1 + 64 64 62 1 + 65 65 62 1 + 66 66 47 1 + 67 67 66 1 + 68 68 67 1 + 69 69 67 1 + 70 70 67 1 + 71 71 66 1 + 72 72 71 1 + 73 73 71 1 + 74 74 71 1 + 75 75 66 1 + 76 76 75 1 + 77 77 75 1 + 78 78 75 1 + 79 79 9 1 + 80 80 79 1 + 81 81 79 1 + 82 82 79 1 + 83 83 13 1 + 84 84 31 1 + 85 85 31 1 + 86 86 31 1 + 87 8 51 1 + 88 16 18 ar + 89 24 26 ar + 90 26 27 1 + 91 28 30 1 + 92 33 42 ar + 93 40 42 ar + 94 43 44 ar + 95 48 50 ar + 96 52 61 ar + 97 59 61 ar +@SUBSTRUCTURE + 1 RES1 1 GROUP 0 **** **** 0 diff --git a/bluephos/modules/octahedral_embed/__init__.py b/bluephos/modules/octahedral_embed/__init__.py new file mode 100644 index 0000000..8cc9acb --- /dev/null +++ b/bluephos/modules/octahedral_embed/__init__.py @@ -0,0 +1,166 @@ +import os.path +from rdkit import Chem +from rdkit.Chem.rdchem import RWMol, Conformer +from rdkit.Chem.rdmolfiles import MolFromMol2File, MolFromSmarts +from rdkit.Chem.AllChem import ConstrainedEmbed +from rdkit.Chem.rdChemReactions import ReactionFromSmarts +from rdkit.Chem.rdmolops import RemoveStereochemistry + +def make_bonds_dative(mol, target_elem = "Ir"): + editable_mol = RWMol(mol) + + # If you don't make a list, it loops infinitely over the bonds it's creating + for bond in list(editable_mol.GetBonds()): + iridium = None + nitrogen = None + carbene = None + if bond.GetBeginAtom().GetSymbol() == target_elem and \ + bond.GetEndAtom().GetSymbol() in ["N", "P"] and \ + bond.GetEndAtom().GetFormalCharge() == 1: + iridium = bond.GetBeginAtom() + nitrogen = bond.GetEndAtom() + start_idx = bond.GetEndAtomIdx() + end_idx = bond.GetBeginAtomIdx() + elif bond.GetEndAtom().GetSymbol() == target_elem and \ + bond.GetBeginAtom().GetSymbol() in ["N", "P"] and \ + bond.GetBeginAtom().GetFormalCharge() == 1: + iridium = bond.GetEndAtom() + nitrogen = bond.GetBeginAtom() + start_idx = bond.GetBeginAtomIdx() + end_idx = bond.GetEndAtomIdx() + if bond.GetBeginAtom().GetSymbol() == target_elem and \ + bond.GetEndAtom().GetSymbol() == "C" and \ + bond.GetEndAtom().GetTotalValence() == 3: + iridium = bond.GetBeginAtom() + carbene = bond.GetEndAtom() + start_idx = bond.GetEndAtomIdx() + end_idx = bond.GetBeginAtomIdx() + elif bond.GetEndAtom().GetSymbol() == target_elem and \ + bond.GetBeginAtom().GetSymbol() == "C" and \ + bond.GetBeginAtom().GetTotalValence() == 3: + iridium = bond.GetEndAtom() + carbene = bond.GetBeginAtom() + start_idx = bond.GetBeginAtomIdx() + end_idx = bond.GetEndAtomIdx() + + if nitrogen is not None: + # Replace N+ - Ir with N -> Ir + nitrogen.SetFormalCharge(0) + + if iridium is not None and (nitrogen is not None or carbene is not None): + editable_mol.RemoveBond(start_idx, end_idx) + editable_mol.AddBond(start_idx, end_idx, Chem.rdchem.BondType.DATIVE) + + outmol = editable_mol.GetMol() + Chem.SanitizeMol(outmol) + + return outmol + +def transfer_conformation(mol, substruct, conformer = 0): + '''Given a molecule, and a second molecule which is a substructure of the + first, assign coordinates to the substructure based on the matching part of + the original molecule''' + match = mol.GetSubstructMatch(substruct) + substruct_conformation = Conformer(substruct.GetNumAtoms()) + for i, index in enumerate(match): + point = mol.GetConformer(conformer).GetAtomPosition(index) + substruct_conformation.SetAtomPosition(i, point) + substruct.AddConformer(substruct_conformation) + +fac = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "OHUZEW.mol2"))) +RemoveStereochemistry(fac) +mer = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "OHUZIA.mol2"))) +RemoveStereochemistry(mer) + +template = MolFromSmarts("[Ir]1~n:[*]~[*]:c~1") + +carbene_fac = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "MAXYIU.mol2"))) +RemoveStereochemistry(carbene_fac) +carbene_mer = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "MAXYOA.mol2"))) +RemoveStereochemistry(carbene_mer) + +# Extract skeletons of a molecule based on a template, keeping coordinates +# Multiple skeletons because I don't know how to do wildcards +def skeleton(template, mol): + template_matches = mol.GetSubstructMatches(template) + matching_indices = set(sum(template_matches, ())) + editable_mol = RWMol(mol) + editable_mol.BeginBatchEdit() + for atom in editable_mol.GetAtoms(): + # Remove all atoms except the matching ones + if atom.GetIdx() not in matching_indices: + editable_mol.RemoveAtom(atom.GetIdx()) + # All the atoms should have formal charge 0, not sure why they don't + atom.SetFormalCharge(0) + editable_mol.CommitBatchEdit() + skeleton_mol = editable_mol.GetMol() + return skeleton_mol + +fac_skeleton = skeleton(template, fac) +mer_skeleton = skeleton(template, mer) + +# Making the carbene skeletons in a completely different way +# I probably am going to want to do this for all of them +carbene_skeleton_smarts = "[Ir]135(<-[CH0](~N(~*)~*~2)~N(~*~2)~c~c~1)(<-[CH0](~N(~*)~*~4)~N(~*~4)~c~c~3)(<-[CH0](~N(~*)~*~6)~N(~*~6)~c~c~5)" +carbene_fac_skeleton = MolFromSmarts(carbene_skeleton_smarts) +transfer_conformation(carbene_fac, carbene_fac_skeleton) +carbene_mer_skeleton = MolFromSmarts(carbene_skeleton_smarts) +transfer_conformation(carbene_mer, carbene_mer_skeleton) + +def run_three_times(mol, reaction): + for i in range(3): + mol = reaction.RunReactants([mol])[0][0] + return mol +reactions = [ + ReactionFromSmarts("[Ir:1]1<-[n:2]:[n:3]~[c:4]:[c:5]~1>>[Ir:1]1<-[n:2]:[c:3]~[n:4]:[c:5]~1"), + ReactionFromSmarts("[Ir:1]1<-[n:2]:[n:3]~[c:4]:[c:5]~1>>[Ir:1]1<-[n:2]:[n:3]~[n:4]:[c:5]~1"), + ReactionFromSmarts("[Ir:1]1<-[n:2]:[n:3]~[c:4]:[c:5]~1>>[Ir:1]1<-[n:2]:[c:3]~[c:4]:[c:5]~1") +] +fac_skeletons = [fac_skeleton] + [run_three_times(fac_skeleton, reaction) for reaction in reactions] + [carbene_fac_skeleton] +mer_skeletons = [mer_skeleton] + [run_three_times(mer_skeleton, reaction) for reaction in reactions] + [carbene_mer_skeleton] + +# Skeletons for tridentate carbenes +# I may have to remake these later if I want to control the isomers +# For now I think it doesn't matter because all the carbene ligands are symmetric? +# For homoleptic: +biplet = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "BIPLET.mol2"))) +biplet_skeleton = MolFromSmarts('[Ir]1234(~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~1~c~[#7]~[#6](~[#7](~[#6])~[#6])~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4') +transfer_conformation(biplet, biplet_skeleton) +# For heteroleptic, three with counterligands of different size +soynom = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "SOYNOM.mol2"))) +RemoveStereochemistry(soynom) +soynom_skeleton = MolFromSmarts('[Ir]1234(~*~*~*~*~1~*~*~*~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4') +transfer_conformation(soynom, soynom_skeleton) +uyokur = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "UYOKUR.mol2"))) +uyokur_skeleton = MolFromSmarts('[Ir]1234(~*~*~*~*~*~1~*~*~*~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4') +transfer_conformation(uyokur, uyokur_skeleton) +egufiz = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "EGUFIZ.mol2"))) +egufiz_skeleton = MolFromSmarts('[Ir]1234(~*~*~*~*~*~1~*~*~*~*~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4') +transfer_conformation(egufiz, egufiz_skeleton) +# Homoleptic has to go first, since a later pattern can cover it +tridentate_skeletons = [biplet_skeleton, soynom_skeleton, uyokur_skeleton, egufiz_skeleton] + +def octahedral_embed(mol, isomer): + # Needed for some of the mol2 files I got from CSD + # Will not be able to embed with stereochemistry + RemoveStereochemistry(mol) + if isomer == "fac": + skeletons = fac_skeletons + elif isomer == "mer": + skeletons = mer_skeletons + elif isomer == "tridentate": + skeletons = tridentate_skeletons + else: + raise ValueError(f"Isomer should be \"mer\" or \"fac\", given {isomer}") + finished = False + for skeleton in skeletons: + if len(mol.GetSubstructMatch(skeleton)) > 0: + # Carbene embedding with a large template gives output "Could not + # triangle bounds smooth molecule" and raises a ValueError. But + # with a small template the imidazole is hroribly twisted, probably + # because it thinks the atoms are aliphatic. Ignoring smoothing + # failures with the large template, it works + ConstrainedEmbed(mol, skeleton, ignoreSmoothingFailures = True) + finished = True + if not finished: + raise ValueError("Doesn't match templates") From 413303250d09093693cce2fbaba47149cac378a4 Mon Sep 17 00:00:00 2001 From: Alexander Davis Date: Wed, 30 Oct 2024 11:59:17 -0400 Subject: [PATCH 2/3] Remove redundant octahedral_embed templates from old module directory --- bluephos/modules/MAXYIU.mol2 | 187 ----------------------------------- bluephos/modules/MAXYOA.mol2 | 187 ----------------------------------- bluephos/modules/OHUZEW.mol2 | 148 --------------------------- bluephos/modules/OHUZIA.mol2 | 148 --------------------------- 4 files changed, 670 deletions(-) delete mode 100644 bluephos/modules/MAXYIU.mol2 delete mode 100644 bluephos/modules/MAXYOA.mol2 delete mode 100644 bluephos/modules/OHUZEW.mol2 delete mode 100644 bluephos/modules/OHUZIA.mol2 diff --git a/bluephos/modules/MAXYIU.mol2 b/bluephos/modules/MAXYIU.mol2 deleted file mode 100644 index cfad289..0000000 --- a/bluephos/modules/MAXYIU.mol2 +++ /dev/null @@ -1,187 +0,0 @@ -@MOLECULE -01 - 82 93 1 0 0 -SMALL -NO_CHARGES -**** -Generated from the CSD - -@ATOM - 1 Ir1 7.5238 3.6188 4.9856 Ir 1 RES1 0.0000 - 2 N1 8.8638 5.0557 2.5167 N.pl3 1 RES1 0.0000 - 3 N2 8.4208 2.9344 2.2911 N.pl3 1 RES1 0.0000 - 4 N3 8.4542 6.2616 6.4483 N.pl3 1 RES1 0.0000 - 5 N4 6.4944 6.3055 5.4964 N.pl3 1 RES1 0.0000 - 6 N5 10.4291 2.5582 5.7102 N.pl3 1 RES1 0.0000 - 7 N6 8.8502 2.1882 7.1590 N.pl3 1 RES1 0.0000 - 8 C1 8.3562 3.9898 3.1805 C.3 1 RES1 0.0000 - 9 C2 9.2337 4.7067 1.2271 C.ar 1 RES1 0.0000 - 10 C3 9.7645 5.4465 0.1917 C.ar 1 RES1 0.0000 - 11 H1 9.9268 6.3766 0.2960 H 1 RES1 0.0000 - 12 C4 10.0568 4.8070 -1.0041 C.ar 1 RES1 0.0000 - 13 H2 10.4590 5.2877 -1.7174 H 1 RES1 0.0000 - 14 C5 9.7550 3.4548 -1.1501 C.ar 1 RES1 0.0000 - 15 H3 9.9196 3.0326 -1.9847 H 1 RES1 0.0000 - 16 C6 9.2265 2.7149 -0.1226 C.ar 1 RES1 0.0000 - 17 H4 9.0521 1.7890 -0.2373 H 1 RES1 0.0000 - 18 C7 8.9544 3.3294 1.0732 C.ar 1 RES1 0.0000 - 19 C8 7.8164 1.7075 2.7254 C.ar 1 RES1 0.0000 - 20 C9 7.8294 0.5559 1.9534 C.ar 1 RES1 0.0000 - 21 H5 8.2934 0.5288 1.1254 H 1 RES1 0.0000 - 22 C10 7.1468 -0.5559 2.4267 C.ar 1 RES1 0.0000 - 23 H6 7.1482 -1.3627 1.9260 H 1 RES1 0.0000 - 24 C11 6.4631 -0.4828 3.6303 C.ar 1 RES1 0.0000 - 25 H7 5.9578 -1.2289 3.9329 H 1 RES1 0.0000 - 26 C12 6.5126 0.6751 4.3984 C.ar 1 RES1 0.0000 - 27 H8 6.0539 0.6939 5.2304 H 1 RES1 0.0000 - 28 C13 7.2052 1.8037 3.9929 C.ar 1 RES1 0.0000 - 29 C14 8.9880 6.4059 3.0318 C.3 1 RES1 0.0000 - 30 H9 8.1022 6.8239 3.0722 H 1 RES1 0.0000 - 31 H10 9.5687 6.9304 2.4398 H 1 RES1 0.0000 - 32 H11 9.3773 6.3787 3.9303 H 1 RES1 0.0000 - 33 C15 7.5727 5.4946 5.7402 C.3 1 RES1 0.0000 - 34 C16 7.9313 7.5512 6.6335 C.ar 1 RES1 0.0000 - 35 C17 8.4825 8.6359 7.2802 C.ar 1 RES1 0.0000 - 36 H12 9.3577 8.6066 7.6506 H 1 RES1 0.0000 - 37 C18 7.6823 9.7833 7.3637 C.ar 1 RES1 0.0000 - 38 H13 8.0127 10.5524 7.8136 H 1 RES1 0.0000 - 39 C19 6.4359 9.8105 6.8095 C.ar 1 RES1 0.0000 - 40 H14 5.9217 10.6047 6.8943 H 1 RES1 0.0000 - 41 C20 5.8766 8.7341 6.1262 C.ar 1 RES1 0.0000 - 42 H15 5.0124 8.7759 5.7363 H 1 RES1 0.0000 - 43 C21 6.6802 7.5783 6.0506 C.ar 1 RES1 0.0000 - 44 C22 5.4388 5.7287 4.7348 C.ar 1 RES1 0.0000 - 45 C23 4.3154 6.4100 4.3475 C.ar 1 RES1 0.0000 - 46 H16 4.2119 7.3255 4.5797 H 1 RES1 0.0000 - 47 C24 3.3355 5.7684 3.6225 C.ar 1 RES1 0.0000 - 48 H17 2.5384 6.2261 3.3813 H 1 RES1 0.0000 - 49 C25 3.5299 4.4392 3.2457 C.ar 1 RES1 0.0000 - 50 H18 2.8691 3.9877 2.7345 H 1 RES1 0.0000 - 51 C26 4.6914 3.7787 3.6199 C.ar 1 RES1 0.0000 - 52 H19 4.8009 2.8696 3.3695 H 1 RES1 0.0000 - 53 C27 5.7153 4.4078 4.3580 C.ar 1 RES1 0.0000 - 54 C28 9.7543 5.8165 6.8956 C.3 1 RES1 0.0000 - 55 H20 10.1928 5.3149 6.1758 H 1 RES1 0.0000 - 56 H21 9.6521 5.2396 7.6793 H 1 RES1 0.0000 - 57 H22 10.3032 6.5940 7.1316 H 1 RES1 0.0000 - 58 C29 9.1035 2.7609 5.9397 C.3 1 RES1 0.0000 - 59 C30 11.0095 1.8664 6.7599 C.ar 1 RES1 0.0000 - 60 C31 12.3085 1.4108 6.9386 C.ar 1 RES1 0.0000 - 61 H23 12.9722 1.5382 6.2709 H 1 RES1 0.0000 - 62 C32 12.5966 0.7670 8.1291 C.ar 1 RES1 0.0000 - 63 H24 13.4779 0.4431 8.2778 H 1 RES1 0.0000 - 64 C33 11.6437 0.5852 9.0993 C.ar 1 RES1 0.0000 - 65 H25 11.8837 0.1651 9.9169 H 1 RES1 0.0000 - 66 C34 10.3324 1.0053 8.9076 C.ar 1 RES1 0.0000 - 67 H26 9.6708 0.8590 9.5740 H 1 RES1 0.0000 - 68 C35 10.0169 1.6427 7.7171 C.ar 1 RES1 0.0000 - 69 C36 7.5044 2.2154 7.6154 C.ar 1 RES1 0.0000 - 70 C37 7.0797 1.5800 8.7668 C.ar 1 RES1 0.0000 - 71 H27 7.6886 1.0973 9.3132 H 1 RES1 0.0000 - 72 C38 5.7389 1.6657 9.0980 C.ar 1 RES1 0.0000 - 73 H28 5.4198 1.2394 9.8830 H 1 RES1 0.0000 - 74 C39 4.8811 2.3554 8.3091 C.ar 1 RES1 0.0000 - 75 H29 3.9675 2.4328 8.5595 H 1 RES1 0.0000 - 76 C40 5.3306 2.9469 7.1394 C.ar 1 RES1 0.0000 - 77 H30 4.7033 3.4130 6.5983 H 1 RES1 0.0000 - 78 C41 6.6458 2.8905 6.7221 C.ar 1 RES1 0.0000 - 79 C42 11.1560 3.0201 4.5392 C.3 1 RES1 0.0000 - 80 H31 11.4458 2.2488 4.0085 H 1 RES1 0.0000 - 81 H32 11.9407 3.5342 4.8235 H 1 RES1 0.0000 - 82 H33 10.5731 3.5906 3.9955 H 1 RES1 0.0000 -@BOND - 1 1 8 1 - 2 2 8 1 - 3 3 8 1 - 4 4 33 1 - 5 5 33 1 - 6 6 58 1 - 7 7 58 1 - 8 9 2 1 - 9 10 9 ar - 10 11 10 1 - 11 12 10 ar - 12 13 12 1 - 13 14 12 ar - 14 15 14 1 - 15 16 14 ar - 16 17 16 1 - 17 18 3 1 - 18 19 3 1 - 19 20 19 ar - 20 21 20 1 - 21 22 20 ar - 22 23 22 1 - 23 24 22 ar - 24 25 24 1 - 25 26 24 ar - 26 27 26 1 - 27 28 1 1 - 28 29 2 1 - 29 30 29 1 - 30 31 29 1 - 31 32 29 1 - 32 33 1 1 - 33 34 4 1 - 34 35 34 ar - 35 36 35 1 - 36 37 35 ar - 37 38 37 1 - 38 39 37 ar - 39 40 39 1 - 40 41 39 ar - 41 42 41 1 - 42 43 5 1 - 43 44 5 1 - 44 45 44 ar - 45 46 45 1 - 46 47 45 ar - 47 48 47 1 - 48 49 47 ar - 49 50 49 1 - 50 51 49 ar - 51 52 51 1 - 52 53 1 1 - 53 54 4 1 - 54 55 54 1 - 55 56 54 1 - 56 57 54 1 - 57 58 1 1 - 58 59 6 1 - 59 60 59 ar - 60 61 60 1 - 61 62 60 ar - 62 63 62 1 - 63 64 62 ar - 64 65 64 1 - 65 66 64 ar - 66 67 66 1 - 67 68 7 1 - 68 69 7 1 - 69 70 69 ar - 70 71 70 1 - 71 72 70 ar - 72 73 72 1 - 73 74 72 ar - 74 75 74 1 - 75 76 74 ar - 76 77 76 1 - 77 78 1 1 - 78 79 6 1 - 79 80 79 1 - 80 81 79 1 - 81 82 79 1 - 82 9 18 ar - 83 16 18 ar - 84 19 28 ar - 85 26 28 ar - 86 34 43 ar - 87 41 43 ar - 88 44 53 ar - 89 51 53 ar - 90 59 68 ar - 91 66 68 ar - 92 69 78 ar - 93 76 78 ar -@SUBSTRUCTURE - 1 RES1 1 GROUP 0 **** **** 0 \ No newline at end of file diff --git a/bluephos/modules/MAXYOA.mol2 b/bluephos/modules/MAXYOA.mol2 deleted file mode 100644 index c76585c..0000000 --- a/bluephos/modules/MAXYOA.mol2 +++ /dev/null @@ -1,187 +0,0 @@ -@MOLECULE -01 - 82 93 1 0 0 -SMALL -NO_CHARGES -**** -Generated from the CSD - -@ATOM - 1 Ir1 6.4022 4.6401 12.6719 Ir 1 RES1 0.0000 - 2 N1 6.2940 3.4360 15.5835 N.pl3 1 RES1 0.0000 - 3 N2 7.9241 2.7974 14.3103 N.pl3 1 RES1 0.0000 - 4 N3 3.9360 6.4321 13.6472 N.pl3 1 RES1 0.0000 - 5 N4 3.4730 4.5618 12.6659 N.pl3 1 RES1 0.0000 - 6 N5 6.5409 5.7403 9.7094 N.pl3 1 RES1 0.0000 - 7 N6 7.3797 6.9834 11.2638 N.pl3 1 RES1 0.0000 - 8 C1 6.7727 3.5428 14.3258 C.3 1 RES1 0.0000 - 9 C2 7.1765 2.6985 16.3910 C.ar 1 RES1 0.0000 - 10 C3 7.1408 2.4018 17.7450 C.ar 1 RES1 0.0000 - 11 H1 6.4033 2.6548 18.2885 H 1 RES1 0.0000 - 12 C4 8.2227 1.7191 18.2729 C.ar 1 RES1 0.0000 - 13 H2 8.2292 1.4890 19.1953 H 1 RES1 0.0000 - 14 C5 9.2962 1.3673 17.4733 C.ar 1 RES1 0.0000 - 15 H3 10.0384 0.9261 17.8708 H 1 RES1 0.0000 - 16 C6 9.3261 1.6317 16.1270 C.ar 1 RES1 0.0000 - 17 H4 10.0591 1.3673 15.5835 H 1 RES1 0.0000 - 18 C7 8.2289 2.3087 15.5929 C.ar 1 RES1 0.0000 - 19 C8 8.6186 2.7042 13.0882 C.ar 1 RES1 0.0000 - 20 C9 9.6065 1.7800 12.8476 C.ar 1 RES1 0.0000 - 21 H5 9.8862 1.1886 13.5370 H 1 RES1 0.0000 - 22 C10 10.1959 1.7115 11.5898 C.ar 1 RES1 0.0000 - 23 H6 10.8770 1.0745 11.4097 H 1 RES1 0.0000 - 24 C11 9.7783 2.5844 10.6100 C.ar 1 RES1 0.0000 - 25 H7 10.1892 2.5616 9.7545 H 1 RES1 0.0000 - 26 C12 8.7579 3.5029 10.8600 C.ar 1 RES1 0.0000 - 27 H8 8.4907 4.0886 10.1613 H 1 RES1 0.0000 - 28 C13 8.1081 3.5980 12.1038 C.ar 1 RES1 0.0000 - 29 C14 5.0835 4.0468 16.0991 C.3 1 RES1 0.0000 - 30 H9 5.3188 4.7866 16.6969 H 1 RES1 0.0000 - 31 H10 4.5659 3.3793 16.5959 H 1 RES1 0.0000 - 32 H11 4.5466 4.3872 15.3537 H 1 RES1 0.0000 - 33 C15 4.5312 5.3495 13.0851 C.3 1 RES1 0.0000 - 34 C16 2.5451 6.3516 13.5743 C.ar 1 RES1 0.0000 - 35 C17 1.5804 7.2454 14.0013 C.ar 1 RES1 0.0000 - 36 H12 1.8103 8.0556 14.4423 H 1 RES1 0.0000 - 37 C18 0.2601 6.9012 13.7528 C.ar 1 RES1 0.0000 - 38 H13 -0.4368 7.4832 14.0339 H 1 RES1 0.0000 - 39 C19 -0.0552 5.7165 13.0991 C.ar 1 RES1 0.0000 - 40 H14 -0.9685 5.5149 12.9299 H 1 RES1 0.0000 - 41 C20 0.9079 4.8284 12.6861 C.ar 1 RES1 0.0000 - 42 H15 0.6746 4.0202 12.2467 H 1 RES1 0.0000 - 43 C21 2.2426 5.1574 12.9361 C.ar 1 RES1 0.0000 - 44 C22 3.8016 3.3165 12.0355 C.ar 1 RES1 0.0000 - 45 C23 2.8549 2.3942 11.6550 C.ar 1 RES1 0.0000 - 46 H16 1.9304 2.5825 11.7653 H 1 RES1 0.0000 - 47 C24 3.2599 1.1962 11.1162 C.ar 1 RES1 0.0000 - 48 H17 2.6140 0.5439 10.8756 H 1 RES1 0.0000 - 49 C25 4.5982 0.9432 10.9284 C.ar 1 RES1 0.0000 - 50 H18 4.8790 0.1217 10.5448 H 1 RES1 0.0000 - 51 C26 5.5351 1.8979 11.3010 C.ar 1 RES1 0.0000 - 52 H19 6.4564 1.7115 11.1582 H 1 RES1 0.0000 - 53 C27 5.1763 3.1321 11.8818 C.ar 1 RES1 0.0000 - 54 C28 4.6184 7.6011 14.1969 C.3 1 RES1 0.0000 - 55 H20 5.5013 7.3367 14.5308 H 1 RES1 0.0000 - 56 H21 4.0877 7.9719 14.9345 H 1 RES1 0.0000 - 57 H22 4.7224 8.2781 13.4966 H 1 RES1 0.0000 - 58 C29 6.6540 5.8420 11.0541 C.3 1 RES1 0.0000 - 59 C30 7.2534 6.7624 9.0588 C.ar 1 RES1 0.0000 - 60 C31 7.4901 7.0039 7.7219 C.ar 1 RES1 0.0000 - 61 H23 7.0938 6.4715 7.0418 H 1 RES1 0.0000 - 62 C32 8.3328 8.0594 7.4222 C.ar 1 RES1 0.0000 - 63 H24 8.5109 8.2647 6.5123 H 1 RES1 0.0000 - 64 C33 8.9261 8.8276 8.4144 C.ar 1 RES1 0.0000 - 65 H25 9.5188 9.5294 8.1675 H 1 RES1 0.0000 - 66 C34 8.6716 8.5956 9.7545 C.ar 1 RES1 0.0000 - 67 H26 9.0680 9.1281 10.4330 H 1 RES1 0.0000 - 68 C35 7.8175 7.5554 10.0635 C.ar 1 RES1 0.0000 - 69 C36 7.6931 7.3120 12.6116 C.ar 1 RES1 0.0000 - 70 C37 8.0703 8.5956 12.9951 C.ar 1 RES1 0.0000 - 71 H27 8.1410 9.2955 12.3569 H 1 RES1 0.0000 - 72 C38 8.3367 8.8257 14.3274 C.ar 1 RES1 0.0000 - 73 H28 8.5954 9.6929 14.6162 H 1 RES1 0.0000 - 74 C39 8.2305 7.7950 15.2404 C.ar 1 RES1 0.0000 - 75 H29 8.4680 7.9434 16.1487 H 1 RES1 0.0000 - 76 C40 7.7721 6.5323 14.8382 C.ar 1 RES1 0.0000 - 77 H30 7.6865 5.8458 15.4888 H 1 RES1 0.0000 - 78 C41 7.4371 6.2509 13.5028 C.ar 1 RES1 0.0000 - 79 C42 5.8113 4.7143 8.9936 C.3 1 RES1 0.0000 - 80 H31 5.2348 4.2275 9.6194 H 1 RES1 0.0000 - 81 H32 6.4444 4.0924 8.5790 H 1 RES1 0.0000 - 82 H33 5.2594 5.1308 8.2980 H 1 RES1 0.0000 -@BOND - 1 1 8 1 - 2 2 8 1 - 3 3 8 1 - 4 4 33 1 - 5 5 33 1 - 6 6 58 1 - 7 7 58 1 - 8 9 2 1 - 9 10 9 ar - 10 11 10 1 - 11 12 10 ar - 12 13 12 1 - 13 14 12 ar - 14 15 14 1 - 15 16 14 ar - 16 17 16 1 - 17 18 3 1 - 18 19 3 1 - 19 20 19 ar - 20 21 20 1 - 21 22 20 ar - 22 23 22 1 - 23 24 22 ar - 24 25 24 1 - 25 26 24 ar - 26 27 26 1 - 27 28 1 1 - 28 29 2 1 - 29 30 29 1 - 30 31 29 1 - 31 32 29 1 - 32 33 1 1 - 33 34 4 1 - 34 35 34 ar - 35 36 35 1 - 36 37 35 ar - 37 38 37 1 - 38 39 37 ar - 39 40 39 1 - 40 41 39 ar - 41 42 41 1 - 42 43 5 1 - 43 44 5 1 - 44 45 44 ar - 45 46 45 1 - 46 47 45 ar - 47 48 47 1 - 48 49 47 ar - 49 50 49 1 - 50 51 49 ar - 51 52 51 1 - 52 53 1 1 - 53 54 4 1 - 54 55 54 1 - 55 56 54 1 - 56 57 54 1 - 57 58 1 1 - 58 59 6 1 - 59 60 59 ar - 60 61 60 1 - 61 62 60 ar - 62 63 62 1 - 63 64 62 ar - 64 65 64 1 - 65 66 64 ar - 66 67 66 1 - 67 68 7 1 - 68 69 7 1 - 69 70 69 ar - 70 71 70 1 - 71 72 70 ar - 72 73 72 1 - 73 74 72 ar - 74 75 74 1 - 75 76 74 ar - 76 77 76 1 - 77 78 1 1 - 78 79 6 1 - 79 80 79 1 - 80 81 79 1 - 81 82 79 1 - 82 9 18 ar - 83 16 18 ar - 84 19 28 ar - 85 26 28 ar - 86 34 43 ar - 87 41 43 ar - 88 44 53 ar - 89 51 53 ar - 90 59 68 ar - 91 66 68 ar - 92 69 78 ar - 93 76 78 ar -@SUBSTRUCTURE - 1 RES1 1 GROUP 0 **** **** 0 \ No newline at end of file diff --git a/bluephos/modules/OHUZEW.mol2 b/bluephos/modules/OHUZEW.mol2 deleted file mode 100644 index 1810e17..0000000 --- a/bluephos/modules/OHUZEW.mol2 +++ /dev/null @@ -1,148 +0,0 @@ -@MOLECULE -01 - 64 72 1 0 0 -SMALL -NO_CHARGES -**** -Generated from the CSD - -@ATOM - 1 Ir1 12.5412 0.5771 4.3070 Ir 1 RES1 0.0000 - 2 N1 14.1173 0.1196 2.9751 N.2 1 RES1 0.0000 - 3 N2 14.9105 -0.8935 3.4037 N.pl3 1 RES1 0.0000 - 4 N3 11.2529 -0.8507 3.4239 N.2 1 RES1 0.0000 - 5 N4 10.1499 -1.1121 4.1727 N.pl3 1 RES1 0.0000 - 6 N5 11.9130 2.1798 3.0823 N.2 1 RES1 0.0000 - 7 N6 12.6046 3.3107 3.3147 N.pl3 1 RES1 0.0000 - 8 F1 15.0891 -2.5317 9.4097 F 1 RES1 0.0000 - 9 F2 13.6026 -3.9018 8.8027 F 1 RES1 0.0000 - 10 F3 13.0283 -1.9133 9.3369 F 1 RES1 0.0000 - 11 F4 10.6629 1.9953 9.6000 F 1 RES1 0.0000 - 12 F5 8.5425 1.5768 9.5919 F 1 RES1 0.0000 - 13 F6 9.2867 3.2578 8.5315 F 1 RES1 0.0000 - 14 F7 16.9468 2.6377 7.8313 F 1 RES1 0.0000 - 15 F8 15.1661 2.7846 9.0131 F 1 RES1 0.0000 - 16 F9 16.1834 4.5373 8.3413 F 1 RES1 0.0000 - 17 C1 13.5431 -0.8200 5.3585 C.ar 1 RES1 0.0000 - 18 C2 14.6391 -1.4179 4.7109 C.ar 1 RES1 0.0000 - 19 C3 15.4445 -2.3951 5.2654 C.ar 1 RES1 0.0000 - 20 H1 16.1466 -2.7692 4.7838 H 1 RES1 0.0000 - 21 C4 15.1696 -2.7965 6.5565 C.ar 1 RES1 0.0000 - 22 H2 15.6826 -3.4679 6.9490 H 1 RES1 0.0000 - 23 C5 14.1611 -2.2242 7.2599 C.ar 1 RES1 0.0000 - 24 C6 13.3610 -1.2437 6.6900 C.ar 1 RES1 0.0000 - 25 H3 12.6886 -0.8542 7.2040 H 1 RES1 0.0000 - 26 C7 10.9973 0.6030 5.5973 C.ar 1 RES1 0.0000 - 27 C8 9.9958 -0.3553 5.3666 C.ar 1 RES1 0.0000 - 28 C9 8.9452 -0.6167 6.2165 C.ar 1 RES1 0.0000 - 29 H4 8.3307 -1.2881 6.0303 H 1 RES1 0.0000 - 30 C10 8.8349 0.1537 7.3619 C.ar 1 RES1 0.0000 - 31 H5 8.1398 -0.0017 7.9608 H 1 RES1 0.0000 - 32 C11 9.7436 1.1377 7.6193 C.ar 1 RES1 0.0000 - 33 C12 10.8239 1.3684 6.7548 C.ar 1 RES1 0.0000 - 34 H6 11.4350 2.0397 6.9571 H 1 RES1 0.0000 - 35 C13 13.5431 2.1132 5.1440 C.ar 1 RES1 0.0000 - 36 C14 13.4520 3.3347 4.4681 C.ar 1 RES1 0.0000 - 37 C15 14.1016 4.4792 4.8647 C.ar 1 RES1 0.0000 - 38 H7 14.0210 5.2565 4.3629 H 1 RES1 0.0000 - 39 C16 14.8632 4.4724 5.9858 C.ar 1 RES1 0.0000 - 40 H8 15.3167 5.2412 6.2489 H 1 RES1 0.0000 - 41 C17 14.9578 3.3227 6.7252 C.ar 1 RES1 0.0000 - 42 C18 14.2977 2.1627 6.3339 C.ar 1 RES1 0.0000 - 43 H9 14.3572 1.4025 6.8641 H 1 RES1 0.0000 - 44 C19 14.5481 0.4390 1.7565 C.2 1 RES1 0.0000 - 45 H10 14.1856 1.1087 1.2223 H 1 RES1 0.0000 - 46 C20 15.6108 -0.3724 1.4044 C.2 1 RES1 0.0000 - 47 H11 16.0853 -0.3622 0.6030 H 1 RES1 0.0000 - 48 C21 15.8174 -1.1856 2.4647 C.2 1 RES1 0.0000 - 49 H12 16.4793 -1.8365 2.5335 H 1 RES1 0.0000 - 50 C22 11.1584 -1.5990 2.3271 C.2 1 RES1 0.0000 - 51 H13 11.7834 -1.6110 1.6391 H 1 RES1 0.0000 - 52 C23 10.0098 -2.3507 2.3555 C.2 1 RES1 0.0000 - 53 H14 9.7139 -2.9554 1.7160 H 1 RES1 0.0000 - 54 C24 9.4022 -2.0261 3.5211 C.2 1 RES1 0.0000 - 55 H15 8.5968 -2.3763 3.8246 H 1 RES1 0.0000 - 56 C25 11.1934 2.3934 1.9831 C.2 1 RES1 0.0000 - 57 H16 10.6313 1.7750 1.5744 H 1 RES1 0.0000 - 58 C26 11.4175 3.6866 1.5541 C.2 1 RES1 0.0000 - 59 H17 11.0165 4.1017 0.8216 H 1 RES1 0.0000 - 60 C27 12.3209 4.2315 2.3878 C.2 1 RES1 0.0000 - 61 H18 12.6799 5.0874 2.3312 H 1 RES1 0.0000 - 62 C28 13.9650 -2.5762 8.7136 C.3 1 RES1 0.0000 - 63 C29 9.5931 1.9902 8.8472 C.3 1 RES1 0.0000 - 64 C30 15.7947 3.2783 7.9730 C.3 1 RES1 0.0000 -@BOND - 1 1 2 1 - 2 2 3 1 - 3 3 18 1 - 4 4 1 1 - 5 5 4 1 - 6 6 1 1 - 7 7 6 1 - 8 8 62 1 - 9 9 62 1 - 10 10 62 1 - 11 11 63 1 - 12 12 63 1 - 13 13 63 1 - 14 14 64 1 - 15 15 64 1 - 16 16 64 1 - 17 17 1 1 - 18 18 17 ar - 19 19 18 ar - 20 20 19 1 - 21 21 19 ar - 22 22 21 1 - 23 23 21 ar - 24 24 17 ar - 25 25 24 1 - 26 26 1 1 - 27 27 5 1 - 28 28 27 ar - 29 29 28 1 - 30 30 28 ar - 31 31 30 1 - 32 32 30 ar - 33 33 26 ar - 34 34 33 1 - 35 35 1 1 - 36 36 7 1 - 37 37 36 ar - 38 38 37 1 - 39 39 37 ar - 40 40 39 1 - 41 41 39 ar - 42 42 35 ar - 43 43 42 1 - 44 44 2 2 - 45 45 44 1 - 46 46 44 1 - 47 47 46 1 - 48 48 3 1 - 49 49 48 1 - 50 50 4 2 - 51 51 50 1 - 52 52 50 1 - 53 53 52 1 - 54 54 5 1 - 55 55 54 1 - 56 56 6 2 - 57 57 56 1 - 58 58 56 1 - 59 59 58 1 - 60 60 7 1 - 61 61 60 1 - 62 62 23 1 - 63 63 32 1 - 64 64 41 1 - 65 23 24 ar - 66 26 27 ar - 67 32 33 ar - 68 35 36 ar - 69 41 42 ar - 70 46 48 2 - 71 52 54 2 - 72 58 60 2 -@SUBSTRUCTURE - 1 RES1 1 GROUP 0 **** **** 0 \ No newline at end of file diff --git a/bluephos/modules/OHUZIA.mol2 b/bluephos/modules/OHUZIA.mol2 deleted file mode 100644 index cf8fc5e..0000000 --- a/bluephos/modules/OHUZIA.mol2 +++ /dev/null @@ -1,148 +0,0 @@ -@MOLECULE -01 - 64 72 1 0 0 -SMALL -NO_CHARGES -**** -Generated from the CSD - -@ATOM - 1 Ir1 6.3077 7.9263 10.4143 Ir 1 RES1 0.0000 - 2 N1 6.5986 7.4569 8.3943 N.2 1 RES1 0.0000 - 3 N2 5.8284 8.1785 7.5299 N.pl3 1 RES1 0.0000 - 4 N3 7.6246 9.4476 10.2976 N.2 1 RES1 0.0000 - 5 N4 7.7810 10.1576 11.4548 N.pl3 1 RES1 0.0000 - 6 N5 5.1185 6.3345 10.8027 N.2 1 RES1 0.0000 - 7 N6 5.7402 5.2772 11.3972 N.pl3 1 RES1 0.0000 - 8 F1 0.7789 11.5466 9.3028 F 1 RES1 0.0000 - 9 F2 2.3815 12.7422 9.9564 F 1 RES1 0.0000 - 10 F3 1.6929 11.2258 11.1788 F 1 RES1 0.0000 - 11 F4 2.9660 9.5011 15.3251 F 1 RES1 0.0000 - 12 F5 4.4924 8.8998 16.6688 F 1 RES1 0.0000 - 13 F6 3.6366 7.5257 15.3479 F 1 RES1 0.0000 - 14 F7 11.8083 6.9392 11.7900 F 1 RES1 0.0000 - 15 F8 11.8460 5.2240 12.9896 F 1 RES1 0.0000 - 16 F9 11.9789 5.0919 10.9028 F 1 RES1 0.0000 - 17 C1 4.8248 9.0485 9.4969 C.ar 1 RES1 0.0000 - 18 C2 4.8635 9.0634 8.1077 C.ar 1 RES1 0.0000 - 19 C3 4.0350 9.8246 7.3145 C.ar 1 RES1 0.0000 - 20 H1 4.1309 9.8077 6.3894 H 1 RES1 0.0000 - 21 C4 3.0758 10.5970 7.8878 C.ar 1 RES1 0.0000 - 22 H2 2.5214 11.1289 7.3630 H 1 RES1 0.0000 - 23 C5 2.9400 10.5815 9.2664 C.ar 1 RES1 0.0000 - 24 C6 3.7981 9.8283 10.0413 C.ar 1 RES1 0.0000 - 25 H3 3.6899 9.8382 10.9649 H 1 RES1 0.0000 - 26 C7 6.0597 8.7249 12.2207 C.ar 1 RES1 0.0000 - 27 C8 6.9117 9.8090 12.5164 C.ar 1 RES1 0.0000 - 28 C9 6.9128 10.4954 13.7191 C.ar 1 RES1 0.0000 - 29 H4 7.5207 11.1797 13.8722 H 1 RES1 0.0000 - 30 C10 5.9948 10.1397 14.6851 C.ar 1 RES1 0.0000 - 31 H5 5.9733 10.5869 15.4995 H 1 RES1 0.0000 - 32 C11 5.1043 9.1084 14.4258 C.ar 1 RES1 0.0000 - 33 C12 5.1336 8.4265 13.2171 C.ar 1 RES1 0.0000 - 34 H6 4.5142 7.7479 13.0684 H 1 RES1 0.0000 - 35 C13 7.7103 6.5588 11.1242 C.ar 1 RES1 0.0000 - 36 C14 7.1453 5.3771 11.5670 C.ar 1 RES1 0.0000 - 37 C15 7.8685 4.3391 12.1039 C.ar 1 RES1 0.0000 - 38 H7 7.4381 3.5640 12.3905 H 1 RES1 0.0000 - 39 C16 9.2378 4.4583 12.2131 C.ar 1 RES1 0.0000 - 40 H8 9.7395 3.7672 12.5847 H 1 RES1 0.0000 - 41 C17 9.8526 5.5997 11.7702 C.ar 1 RES1 0.0000 - 42 C18 9.0974 6.6279 11.2319 C.ar 1 RES1 0.0000 - 43 H9 9.5324 7.3922 10.9301 H 1 RES1 0.0000 - 44 C19 7.3615 6.6909 7.6375 C.2 1 RES1 0.0000 - 45 H10 7.9582 6.0540 7.9591 H 1 RES1 0.0000 - 46 C20 7.1454 6.9721 6.2969 C.2 1 RES1 0.0000 - 47 H11 7.5871 6.5960 5.5704 H 1 RES1 0.0000 - 48 C21 6.1588 7.9037 6.2574 C.2 1 RES1 0.0000 - 49 H12 5.7839 8.2798 5.4931 H 1 RES1 0.0000 - 50 C22 8.5028 9.9510 9.4529 C.2 1 RES1 0.0000 - 51 H13 8.6352 9.6417 8.5854 H 1 RES1 0.0000 - 52 C23 9.1945 10.9900 10.0156 C.2 1 RES1 0.0000 - 53 H14 9.8473 11.5117 9.6091 H 1 RES1 0.0000 - 54 C24 8.7308 11.1086 11.3031 C.2 1 RES1 0.0000 - 55 H15 9.0139 11.7218 11.9431 H 1 RES1 0.0000 - 56 C25 3.8368 6.0269 10.7208 C.2 1 RES1 0.0000 - 57 H16 3.1794 6.5588 10.3356 H 1 RES1 0.0000 - 58 C26 3.6237 4.7666 11.3062 C.2 1 RES1 0.0000 - 59 H17 2.8093 4.3296 11.3987 H 1 RES1 0.0000 - 60 C27 4.8577 4.3161 11.7141 C.2 1 RES1 0.0000 - 61 H18 5.0436 3.5030 12.1282 H 1 RES1 0.0000 - 62 C28 1.9253 11.4413 9.8988 C.3 1 RES1 0.0000 - 63 C29 4.0529 8.7880 15.4222 C.3 1 RES1 0.0000 - 64 C30 11.3216 5.6868 11.8946 C.3 1 RES1 0.0000 -@BOND - 1 1 2 1 - 2 2 3 1 - 3 3 18 1 - 4 4 1 1 - 5 5 4 1 - 6 6 1 1 - 7 7 6 1 - 8 8 62 1 - 9 9 62 1 - 10 10 62 1 - 11 11 63 1 - 12 12 63 1 - 13 13 63 1 - 14 14 64 1 - 15 15 64 1 - 16 16 64 1 - 17 17 1 1 - 18 18 17 ar - 19 19 18 ar - 20 20 19 1 - 21 21 19 ar - 22 22 21 1 - 23 23 21 ar - 24 24 17 ar - 25 25 24 1 - 26 26 1 1 - 27 27 5 1 - 28 28 27 ar - 29 29 28 1 - 30 30 28 ar - 31 31 30 1 - 32 32 30 ar - 33 33 26 ar - 34 34 33 1 - 35 35 1 1 - 36 36 7 1 - 37 37 36 ar - 38 38 37 1 - 39 39 37 ar - 40 40 39 1 - 41 41 39 ar - 42 42 35 ar - 43 43 42 1 - 44 44 2 2 - 45 45 44 1 - 46 46 44 1 - 47 47 46 1 - 48 48 3 1 - 49 49 48 1 - 50 50 4 2 - 51 51 50 1 - 52 52 50 1 - 53 53 52 1 - 54 54 5 1 - 55 55 54 1 - 56 56 6 2 - 57 57 56 1 - 58 58 56 1 - 59 59 58 1 - 60 60 7 1 - 61 61 60 1 - 62 62 23 1 - 63 63 32 1 - 64 64 41 1 - 65 23 24 ar - 66 26 27 ar - 67 32 33 ar - 68 35 36 ar - 69 41 42 ar - 70 46 48 2 - 71 52 54 2 - 72 58 60 2 -@SUBSTRUCTURE - 1 RES1 1 GROUP 0 **** **** 0 \ No newline at end of file From a5401a0f668078d2a38cbadba7aba7fcb53285bf Mon Sep 17 00:00:00 2001 From: Alexander Davis Date: Thu, 14 Nov 2024 13:03:34 -0500 Subject: [PATCH 3/3] Tox format --- bluephos/modules/octahedral_embed/__init__.py | 88 +++++++++++++------ 1 file changed, 60 insertions(+), 28 deletions(-) diff --git a/bluephos/modules/octahedral_embed/__init__.py b/bluephos/modules/octahedral_embed/__init__.py index 8cc9acb..6a80600 100644 --- a/bluephos/modules/octahedral_embed/__init__.py +++ b/bluephos/modules/octahedral_embed/__init__.py @@ -1,12 +1,14 @@ import os.path + from rdkit import Chem -from rdkit.Chem.rdchem import RWMol, Conformer -from rdkit.Chem.rdmolfiles import MolFromMol2File, MolFromSmarts from rdkit.Chem.AllChem import ConstrainedEmbed +from rdkit.Chem.rdchem import Conformer, RWMol from rdkit.Chem.rdChemReactions import ReactionFromSmarts +from rdkit.Chem.rdmolfiles import MolFromMol2File, MolFromSmarts from rdkit.Chem.rdmolops import RemoveStereochemistry -def make_bonds_dative(mol, target_elem = "Ir"): + +def make_bonds_dative(mol, target_elem="Ir"): editable_mol = RWMol(mol) # If you don't make a list, it loops infinitely over the bonds it's creating @@ -14,30 +16,38 @@ def make_bonds_dative(mol, target_elem = "Ir"): iridium = None nitrogen = None carbene = None - if bond.GetBeginAtom().GetSymbol() == target_elem and \ - bond.GetEndAtom().GetSymbol() in ["N", "P"] and \ - bond.GetEndAtom().GetFormalCharge() == 1: + if ( + bond.GetBeginAtom().GetSymbol() == target_elem + and bond.GetEndAtom().GetSymbol() in ["N", "P"] + and bond.GetEndAtom().GetFormalCharge() == 1 + ): iridium = bond.GetBeginAtom() nitrogen = bond.GetEndAtom() start_idx = bond.GetEndAtomIdx() end_idx = bond.GetBeginAtomIdx() - elif bond.GetEndAtom().GetSymbol() == target_elem and \ - bond.GetBeginAtom().GetSymbol() in ["N", "P"] and \ - bond.GetBeginAtom().GetFormalCharge() == 1: + elif ( + bond.GetEndAtom().GetSymbol() == target_elem + and bond.GetBeginAtom().GetSymbol() in ["N", "P"] + and bond.GetBeginAtom().GetFormalCharge() == 1 + ): iridium = bond.GetEndAtom() nitrogen = bond.GetBeginAtom() start_idx = bond.GetBeginAtomIdx() end_idx = bond.GetEndAtomIdx() - if bond.GetBeginAtom().GetSymbol() == target_elem and \ - bond.GetEndAtom().GetSymbol() == "C" and \ - bond.GetEndAtom().GetTotalValence() == 3: + if ( + bond.GetBeginAtom().GetSymbol() == target_elem + and bond.GetEndAtom().GetSymbol() == "C" + and bond.GetEndAtom().GetTotalValence() == 3 + ): iridium = bond.GetBeginAtom() carbene = bond.GetEndAtom() start_idx = bond.GetEndAtomIdx() end_idx = bond.GetBeginAtomIdx() - elif bond.GetEndAtom().GetSymbol() == target_elem and \ - bond.GetBeginAtom().GetSymbol() == "C" and \ - bond.GetBeginAtom().GetTotalValence() == 3: + elif ( + bond.GetEndAtom().GetSymbol() == target_elem + and bond.GetBeginAtom().GetSymbol() == "C" + and bond.GetBeginAtom().GetTotalValence() == 3 + ): iridium = bond.GetEndAtom() carbene = bond.GetBeginAtom() start_idx = bond.GetBeginAtomIdx() @@ -56,10 +66,11 @@ def make_bonds_dative(mol, target_elem = "Ir"): return outmol -def transfer_conformation(mol, substruct, conformer = 0): - '''Given a molecule, and a second molecule which is a substructure of the + +def transfer_conformation(mol, substruct, conformer=0): + """Given a molecule, and a second molecule which is a substructure of the first, assign coordinates to the substructure based on the matching part of - the original molecule''' + the original molecule""" match = mol.GetSubstructMatch(substruct) substruct_conformation = Conformer(substruct.GetNumAtoms()) for i, index in enumerate(match): @@ -67,6 +78,7 @@ def transfer_conformation(mol, substruct, conformer = 0): substruct_conformation.SetAtomPosition(i, point) substruct.AddConformer(substruct_conformation) + fac = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "OHUZEW.mol2"))) RemoveStereochemistry(fac) mer = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "OHUZIA.mol2"))) @@ -79,6 +91,7 @@ def transfer_conformation(mol, substruct, conformer = 0): carbene_mer = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "MAXYOA.mol2"))) RemoveStereochemistry(carbene_mer) + # Extract skeletons of a molecule based on a template, keeping coordinates # Multiple skeletons because I don't know how to do wildcards def skeleton(template, mol): @@ -96,50 +109,69 @@ def skeleton(template, mol): skeleton_mol = editable_mol.GetMol() return skeleton_mol + fac_skeleton = skeleton(template, fac) mer_skeleton = skeleton(template, mer) # Making the carbene skeletons in a completely different way # I probably am going to want to do this for all of them -carbene_skeleton_smarts = "[Ir]135(<-[CH0](~N(~*)~*~2)~N(~*~2)~c~c~1)(<-[CH0](~N(~*)~*~4)~N(~*~4)~c~c~3)(<-[CH0](~N(~*)~*~6)~N(~*~6)~c~c~5)" +carbene_skeleton_smarts = ( + "[Ir]135(<-[CH0](~N(~*)~*~2)~N(~*~2)~c~c~1)(<-[CH0](~N(~*)~*~4)~N(~*~4)~c~c~3)(<-[CH0](~N(~*)~*~6)~N(~*~6)~c~c~5)" +) carbene_fac_skeleton = MolFromSmarts(carbene_skeleton_smarts) transfer_conformation(carbene_fac, carbene_fac_skeleton) carbene_mer_skeleton = MolFromSmarts(carbene_skeleton_smarts) transfer_conformation(carbene_mer, carbene_mer_skeleton) + def run_three_times(mol, reaction): for i in range(3): mol = reaction.RunReactants([mol])[0][0] return mol + + reactions = [ ReactionFromSmarts("[Ir:1]1<-[n:2]:[n:3]~[c:4]:[c:5]~1>>[Ir:1]1<-[n:2]:[c:3]~[n:4]:[c:5]~1"), ReactionFromSmarts("[Ir:1]1<-[n:2]:[n:3]~[c:4]:[c:5]~1>>[Ir:1]1<-[n:2]:[n:3]~[n:4]:[c:5]~1"), - ReactionFromSmarts("[Ir:1]1<-[n:2]:[n:3]~[c:4]:[c:5]~1>>[Ir:1]1<-[n:2]:[c:3]~[c:4]:[c:5]~1") + ReactionFromSmarts("[Ir:1]1<-[n:2]:[n:3]~[c:4]:[c:5]~1>>[Ir:1]1<-[n:2]:[c:3]~[c:4]:[c:5]~1"), ] -fac_skeletons = [fac_skeleton] + [run_three_times(fac_skeleton, reaction) for reaction in reactions] + [carbene_fac_skeleton] -mer_skeletons = [mer_skeleton] + [run_three_times(mer_skeleton, reaction) for reaction in reactions] + [carbene_mer_skeleton] +fac_skeletons = ( + [fac_skeleton] + [run_three_times(fac_skeleton, reaction) for reaction in reactions] + [carbene_fac_skeleton] +) +mer_skeletons = ( + [mer_skeleton] + [run_three_times(mer_skeleton, reaction) for reaction in reactions] + [carbene_mer_skeleton] +) # Skeletons for tridentate carbenes # I may have to remake these later if I want to control the isomers # For now I think it doesn't matter because all the carbene ligands are symmetric? # For homoleptic: biplet = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "BIPLET.mol2"))) -biplet_skeleton = MolFromSmarts('[Ir]1234(~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~1~c~[#7]~[#6](~[#7](~[#6])~[#6])~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4') +biplet_skeleton = MolFromSmarts( + "[Ir]1234(~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~1~c~[#7]~[#6](~[#7](~[#6])~[#6])~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4" +) transfer_conformation(biplet, biplet_skeleton) # For heteroleptic, three with counterligands of different size soynom = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "SOYNOM.mol2"))) RemoveStereochemistry(soynom) -soynom_skeleton = MolFromSmarts('[Ir]1234(~*~*~*~*~1~*~*~*~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4') +soynom_skeleton = MolFromSmarts( + "[Ir]1234(~*~*~*~*~1~*~*~*~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4" +) transfer_conformation(soynom, soynom_skeleton) uyokur = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "UYOKUR.mol2"))) -uyokur_skeleton = MolFromSmarts('[Ir]1234(~*~*~*~*~*~1~*~*~*~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4') +uyokur_skeleton = MolFromSmarts( + "[Ir]1234(~*~*~*~*~*~1~*~*~*~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4" +) transfer_conformation(uyokur, uyokur_skeleton) egufiz = make_bonds_dative(MolFromMol2File(os.path.join(__path__[0], "EGUFIZ.mol2"))) -egufiz_skeleton = MolFromSmarts('[Ir]1234(~*~*~*~*~*~1~*~*~*~*~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4') +egufiz_skeleton = MolFromSmarts( + "[Ir]1234(~*~*~*~*~*~1~*~*~*~*~2)~[#6](~[#7](~[#6])~[#6])~[#7]~c~c~3~c~[#7]~[#6](~[#7](~[#6])~[#6])~4" +) transfer_conformation(egufiz, egufiz_skeleton) # Homoleptic has to go first, since a later pattern can cover it tridentate_skeletons = [biplet_skeleton, soynom_skeleton, uyokur_skeleton, egufiz_skeleton] + def octahedral_embed(mol, isomer): # Needed for some of the mol2 files I got from CSD # Will not be able to embed with stereochemistry @@ -151,7 +183,7 @@ def octahedral_embed(mol, isomer): elif isomer == "tridentate": skeletons = tridentate_skeletons else: - raise ValueError(f"Isomer should be \"mer\" or \"fac\", given {isomer}") + raise ValueError(f'Isomer should be "mer" or "fac", given {isomer}') finished = False for skeleton in skeletons: if len(mol.GetSubstructMatch(skeleton)) > 0: @@ -160,7 +192,7 @@ def octahedral_embed(mol, isomer): # with a small template the imidazole is hroribly twisted, probably # because it thinks the atoms are aliphatic. Ignoring smoothing # failures with the large template, it works - ConstrainedEmbed(mol, skeleton, ignoreSmoothingFailures = True) + ConstrainedEmbed(mol, skeleton, ignoreSmoothingFailures=True) finished = True if not finished: raise ValueError("Doesn't match templates")