Skip to content

Instantly share code, notes, and snippets.

@ptosco
Last active December 16, 2022 06:45
Show Gist options
  • Save ptosco/4844d3635cf14d11e5e14381993915c1 to your computer and use it in GitHub Desktop.
Save ptosco/4844d3635cf14d11e5e14381993915c1 to your computer and use it in GitHub Desktop.
XYZSmilesToMol
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from rdkit import Chem\n",
"from rdkit.Chem import AllChem\n",
"from io import StringIO\n",
"from rdkit.Chem.Draw import IPythonConsole"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"bilastine_xyz = \"\"\"\\\n",
"71\n",
"Untitled\n",
"O 9.63690 -1.58160 -0.45380\n",
"C 9.23030 -0.38070 -0.26330\n",
"O 9.53320 0.63440 -0.98540\n",
"C 8.29670 -0.14110 0.90970\n",
"C 6.86630 -0.21600 0.37040\n",
"C 5.99890 0.85000 0.48030\n",
"C 4.72010 0.77250 -0.01980\n",
"C 4.28340 -0.37540 -0.64060\n",
"C 5.14050 -1.44740 -0.75190\n",
"C 6.42000 -1.36480 -0.25100\n",
"C 2.86960 -0.42590 -1.19810\n",
"C 1.82570 -1.12160 -0.29110\n",
"N 0.45790 -0.49150 -0.40460\n",
"C 0.30510 0.71020 0.49470\n",
"C -1.05500 1.39670 0.26480\n",
"C -2.21490 0.40470 0.49380\n",
"C -3.55160 1.11540 0.33980\n",
"N -3.65970 2.33840 -0.15600\n",
"C -4.98220 2.70660 -0.12220\n",
"C -5.65890 3.86780 -0.49940\n",
"C -7.01040 3.88820 -0.30660\n",
"C -7.68670 2.79020 0.24420\n",
"C -7.02040 1.65330 0.61150\n",
"C -5.64490 1.63960 0.41220\n",
"N -4.77720 0.62490 0.70390\n",
"C -5.09690 -0.69360 1.28050\n",
"C -5.75440 -1.65060 0.26870\n",
"O -7.15700 -1.35080 0.14090\n",
"C -7.81570 -2.13580 -0.87190\n",
"C -8.06640 -3.58880 -0.43050\n",
"C -2.03470 -0.80200 -0.45270\n",
"C -0.66740 -1.47780 -0.21060\n",
"C 8.66740 1.21300 1.55470\n",
"C 8.53470 -1.19680 2.00900\n",
"H 6.30500 1.69120 0.92770\n",
"H 4.10530 1.55610 0.06540\n",
"H 4.83380 -2.28740 -1.19970\n",
"H 7.03590 -2.14790 -0.33940\n",
"H 2.89660 -0.97930 -2.26320\n",
"H 2.52610 0.70490 -1.40590\n",
"H 2.17690 -1.05920 0.85540\n",
"H 1.78600 -2.28270 -0.59480\n",
"H 1.17950 1.50720 0.29720\n",
"H 0.36390 0.34570 1.63660\n",
"H -1.09870 1.80510 -0.86260\n",
"H -1.16970 2.31860 1.02460\n",
"H -2.11820 0.02170 1.62630\n",
"H -5.17550 4.65060 -0.89160\n",
"H -7.52890 4.70380 -0.56290\n",
"H -8.67740 2.83950 0.37110\n",
"H -7.50010 0.86900 1.00460\n",
"H -5.85610 -0.54200 2.19760\n",
"H -4.09990 -1.20120 1.71070\n",
"H -5.62210 -2.77180 0.67200\n",
"H -5.20930 -1.53560 -0.79380\n",
"H -7.20750 -2.11670 -1.90630\n",
"H -8.89010 -1.63610 -1.06100\n",
"H -8.83490 -4.10350 -1.19490\n",
"H -7.04250 -4.21360 -0.43540\n",
"H -8.54010 -3.59310 0.67170\n",
"H -2.89380 -1.61770 -0.27120\n",
"H -2.08970 -0.41960 -1.58900\n",
"H -0.63170 -1.89100 0.91540\n",
"H -0.56400 -2.40180 -0.97070\n",
"H 9.81390 1.19990 1.90810\n",
"H 8.51020 2.09510 0.75650\n",
"H 7.96030 1.41240 2.50380\n",
"H 9.68450 -1.17670 2.35180\n",
"H 8.26720 -2.28540 1.58040\n",
"H 7.83300 -0.96160 2.95390\n",
"H 0.37450 -0.19410 -1.26220\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"bilastine_smi = 'CCOCCn1c(C2CC[NH+](CCc3ccc(C(C)(C)C(=O)[O-])cc3)CC2)nc2ccccc21'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Convert the XYZ to a PDB block so we can use the proximity bond generator of the PDB parser"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def xyz_to_pdb_block(xyz_block):\n",
" pdb_block = ''\n",
" n = 0\n",
" n_atoms = 0\n",
" with StringIO(xyz_block) as hnd:\n",
" while True:\n",
" line = hnd.readline()\n",
" if (not line):\n",
" raise RuntimeError('XYZ block ended prematurely')\n",
" n += 1\n",
" if (n == 1):\n",
" try:\n",
" n_atoms = int(line.strip())\n",
" except Exception as e:\n",
" raise type(e)('Could not parse number of atoms on line {0:d}'.format(n)) from e\n",
" elif (n > 2):\n",
" try:\n",
" elem, x, y, z = line.strip().split()\n",
" except Exception as e:\n",
" raise type(e)('Could not parse coordinate line {0:d}'.format(n)) from e\n",
" pdb_block += 'ATOM {0:5d} {1:>2s} UNL 1 {2:8.3f}{3:8.3f}{4:8.3f} 1.00 0.00\\n'.format(\n",
" n - 2, elem, float(x), float(y), float(z))\n",
" if (n == n_atoms + 2):\n",
" break\n",
" return pdb_block "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Get a molecule connected by single bonds"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"xyz_mol = Chem.MolFromPDBBlock(xyz_to_pdb_block(bilastine_xyz), removeHs=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Reorder atoms to make sure that hydrogens are placed after heavy atoms"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"order_by_atomic_num = tuple(zip(*sorted(\n",
" [(a.GetIdx() if a.GetAtomicNum() > 1 else a.GetIdx() + xyz_mol.GetNumAtoms(), i\n",
" ) for i, a in enumerate(xyz_mol.GetAtoms())])))[1]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"xyz_mol = AllChem.RenumberAtoms(xyz_mol, order_by_atomic_num)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f88a22a6710>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"xyz_mol"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"smiles_mol = Chem.MolFromSmiles(bilastine_smi)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f88a0a2a8a0>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"smiles_mol"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Get a molecule with bond orders taken from SMILES and no hydrogens"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"xyz_mol_no_h = AllChem.AssignBondOrdersFromTemplate(smiles_mol, Chem.RemoveHs(xyz_mol))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f88a0a2c960>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"xyz_mol_no_h"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"xyz_mol_bo = Chem.RWMol(xyz_mol_no_h)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Put back hydrogens in place and connect them to their parent heavy atom with a single bond"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"for a in xyz_mol.GetAtoms():\n",
" if (a.GetAtomicNum() == 1):\n",
" xyz_mol_bo.AddAtom(a)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"xyz_mol_conf = xyz_mol.GetConformer()\n",
"xyz_mol_bo_conf = xyz_mol_bo.GetConformer()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"for b in xyz_mol.GetBonds():\n",
" if (b.GetBeginAtom().GetAtomicNum() == 1):\n",
" hydro = b.GetBeginAtom()\n",
" elif (b.GetEndAtom().GetAtomicNum() == 1):\n",
" hydro = b.GetEndAtom()\n",
" else:\n",
" continue\n",
" heavy_idx = b.GetOtherAtom(hydro).GetIdx()\n",
" hydro_idx = hydro.GetIdx()\n",
" heavy = xyz_mol_bo.GetAtomWithIdx(heavy_idx)\n",
" heavy.SetNoImplicit(True)\n",
" heavy.SetNumExplicitHs(0)\n",
" xyz_mol_bo.AddBond(heavy_idx, hydro_idx, Chem.BondType.SINGLE)\n",
" xyz_mol_bo_conf.SetAtomPosition(hydro_idx, xyz_mol_conf.GetAtomPosition(hydro_idx))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is the molecule with hydrogens and bond orders"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.RWMol at 0x7f88a0a2c998>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"xyz_mol_bo"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment