Files
macro_split/notebooks/demo_single_molecule.ipynb
2025-11-14 20:34:58 +08:00

1347 lines
280 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 16环大环内酯侧链分析演示\n",
"\n",
"本notebook演示如何对一个16环大环内酯分子进行\n",
"1. 固定编号\n",
"2. 定义碎片dataclass (JSON导入导出)\n",
"3. 侧链断裂并保存碎片信息\n",
"\n",
"我们将从temp.csv中选择一个分子进行演示。\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. 导入必要的库\n"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"所有模块导入成功!\n"
]
}
],
"source": [
"# 配置matplotlib在Jupyter中内联显示\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"\n",
"import sys\n",
"sys.path.append('../')\n",
"\n",
"from rdkit import Chem\n",
"from rdkit.Chem import Draw\n",
"from rdkit.Chem.Draw import IPythonConsole\n",
"import pandas as pd\n",
"import json\n",
"from pathlib import Path\n",
"import numpy as np\n",
"\n",
"# 导入我们的模块\n",
"from src.ring_numbering import (\n",
" assign_ring_numbering,\n",
" find_lactone_carbon,\n",
" get_ring_atoms,\n",
" validate_numbering\n",
")\n",
"from src.fragment_dataclass import Fragment, MoleculeFragments\n",
"from src.fragment_cleaver import (\n",
" identify_side_chains,\n",
" extract_side_chain_fragment,\n",
" cleave_side_chains,\n",
" process_molecule\n",
")\n",
"from src.visualizer import draw_molecule_with_numbering\n",
"\n",
"print(\"所有模块导入成功!\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. 读取数据并选择一个分子\n"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"共有 2022 个16环大环内酯分子\n",
"\n",
"前5个分子:\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>IDs</th>\n",
" <th>molecule_pref_name</th>\n",
" <th>smiles</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>CHEMBL94657</td>\n",
" <td>PATUPILONE</td>\n",
" <td>C/C(=C\\c1csc(C)n1)[C@@H]1C[C@@H]2O[C@]2(C)CCC[...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>CHEMBL94657</td>\n",
" <td>PATUPILONE</td>\n",
" <td>C/C(=C\\c1csc(C)n1)[C@@H]1C[C@@H]2O[C@]2(C)CCC[...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>CHEMBL1554</td>\n",
" <td>DACTINOMYCIN</td>\n",
" <td>Cc1c2oc3c(C)ccc(C(=O)N[C@@H]4C(=O)N[C@H](C(C)C...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>CHEMBL1173445</td>\n",
" <td>LARGAZOLE</td>\n",
" <td>CCCCCCCC(=O)SCC/C=C/[C@@H]1CC(=O)NCc2nc(cs2)C2...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>CHEMBL3902498</td>\n",
" <td>NaN</td>\n",
" <td>Cc1cc2ccc1[C@@H](C)COC(=O)Nc1ccc(S(=O)(=O)C3CC...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" IDs molecule_pref_name \\\n",
"0 CHEMBL94657 PATUPILONE \n",
"1 CHEMBL94657 PATUPILONE \n",
"2 CHEMBL1554 DACTINOMYCIN \n",
"3 CHEMBL1173445 LARGAZOLE \n",
"4 CHEMBL3902498 NaN \n",
"\n",
" smiles \n",
"0 C/C(=C\\c1csc(C)n1)[C@@H]1C[C@@H]2O[C@]2(C)CCC[... \n",
"1 C/C(=C\\c1csc(C)n1)[C@@H]1C[C@@H]2O[C@]2(C)CCC[... \n",
"2 Cc1c2oc3c(C)ccc(C(=O)N[C@@H]4C(=O)N[C@H](C(C)C... \n",
"3 CCCCCCCC(=O)SCC/C=C/[C@@H]1CC(=O)NCc2nc(cs2)C2... \n",
"4 Cc1cc2ccc1[C@@H](C)COC(=O)Nc1ccc(S(=O)(=O)C3CC... "
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 读取CSV文件\n",
"df = pd.read_csv('../ring16/temp.csv')\n",
"print(f\"共有 {len(df)} 个16环大环内酯分子\")\n",
"print(f\"\\n前5个分子:\")\n",
"df[['IDs', 'molecule_pref_name', 'smiles']].head()\n"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"选择的分子: nan (CHEMBL409074)\n",
"SMILES: CC(C)C[C@@H]1OC(=O)C(C)(C)CNC(=O)[C@@H](Cc2ccc(NC(=O)OCC3c4ccccc4-c4ccccc43)cc2)NC(=O)/C=C/C[C@@H]([C@H](C)C2OC2c2ccccc2)OC1=O\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x746d5d37a420>"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 选择第一个分子进行演示\n",
"molecule_idx = 337\n",
"smiles = df.iloc[molecule_idx]['smiles']\n",
"molecule_name = df.iloc[molecule_idx]['molecule_pref_name']\n",
"molecule_id = df.iloc[molecule_idx]['IDs']\n",
"\n",
"print(f\"选择的分子: {molecule_name} ({molecule_id})\")\n",
"print(f\"SMILES: {smiles}\")\n",
"\n",
"# 解析分子\n",
"mol = Chem.MolFromSmiles(smiles)\n",
"mol\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. 步骤1: 固定编号\n",
"\n",
"我们使用内酯结构的C=O中的C作为编号起点位置1然后顺时针依次编号。\n"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"内酯羰基碳的原子索引: 27\n",
"\n",
"16环中的原子数: 16\n",
"16环原子索引: [34, 35, 37, 38, 7, 8, 9, 39, 11, 12, 13, 14, 40, 26, 27, 29]\n"
]
}
],
"source": [
"# 找到内酯碳原子\n",
"lactone_c = find_lactone_carbon(mol)\n",
"print(f\"内酯羰基碳的原子索引: {lactone_c}\")\n",
"\n",
"# 获取所有16环原子\n",
"ring_atoms = get_ring_atoms(mol)\n",
"print(f\"\\n16环中的原子数: {len(ring_atoms)}\")\n",
"print(f\"16环原子索引: {ring_atoms}\")\n"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"16环原子编号 (原子索引 -> 环位置):\n",
" 位置 1: 原子索引 27 (C)\n",
" 位置 2: 原子索引 26 (O)\n",
" 位置 3: 原子索引 14 (C)\n",
" 位置 4: 原子索引 13 (C)\n",
" 位置 5: 原子索引 12 (C)\n",
" 位置 6: 原子索引 11 (C)\n",
" 位置 7: 原子索引 9 (C)\n",
" 位置 8: 原子索引 8 (N)\n",
" 位置 9: 原子索引 7 (C)\n",
" 位置 10: 原子索引 40 (C)\n",
" 位置 11: 原子索引 39 (N)\n",
" 位置 12: 原子索引 38 (C)\n",
" 位置 13: 原子索引 37 (C)\n",
" 位置 14: 原子索引 35 (C)\n",
" 位置 15: 原子索引 34 (O)\n",
" 位置 16: 原子索引 29 (C)\n"
]
}
],
"source": [
"# 分配固定编号 (1-16)\n",
"numbering = assign_ring_numbering(mol)\n",
"\n",
"print(\"16环原子编号 (原子索引 -> 环位置):\")\n",
"for atom_idx in sorted(numbering.keys(), key=lambda x: numbering[x]):\n",
" position = numbering[atom_idx]\n",
" atom = mol.GetAtomWithIdx(atom_idx)\n",
" print(f\" 位置 {position:2d}: 原子索引 {atom_idx:2d} ({atom.GetSymbol()})\")\n"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"编号验证结果: 通过 ✓\n"
]
}
],
"source": [
"# 验证编号是否正确\n",
"is_valid = validate_numbering(mol, numbering)\n",
"print(f\"编号验证结果: {'通过 ✓' if is_valid else '失败 ✗'}\")\n"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"分子结构标注了16环的编号:\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAPdCAYAAACXzguGAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Qd81eX5/vGLkEUSEmbC3htkKoI4EPe2jg7rtq2t1U5r/fXX1vZfa+evS6u21jrq3ou6EREVEQTZe++dQEJ2/q/r+XIQkJFADmR83q/X15wkJycnJ3hyru99P/fToKKiokIAAAAAAKDaJVT/TQIAAAAAAEI3AAAAAABxRKUbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAA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nXfe0Y9+9KMwVbtdu3ZUvSsRtj0gza3jH374oR555BF9/PHHysrK0qmnnhrWbfut3weA6kalGwCA2sTD07zXtlvMJ03a/2C0GTOkm26Kwrdby88663DeU8TB+PHj9ec//1kTJkzQpk2b9NWvfjVsM9a/f/8wYRufD9ueDL9s2TJ99NFHYa28H0M/Vj6RceGFF4b90T0tHgDihUo3AAC1ybvvSmvWSEOHSj177r+1fNkyadq0aIuwAQMO571EnBx//PE66qij9PDDD+vJJ5/U448/Hiq3XoPstuiePXuGQWv1ncO29zlfsmRJqGi/9NJLoTugUaNGOuGEE0L3wFlnnaW2bdvSJQAg7gjdAADUJk8/HbWLX3JJ1GK+L7FKuPfxdmt5q1aH814ijtwCfeONN4bweN999+ntt98OreZnn312WOvtQWAetFZfebs1V7Y/+OADvfLKKxozZkyYPn7cccfpjDPOCJVtr4dnEB2Aw4X2cgAAaostW6J2creYeyq528z3Zd486YYbpNWrpd/+VjrvvMN5T3EYh4K5ivvEE0/ovffeC2H78ssvDwF80KBBSkpKqje/Cw+Z88T3999/P5yI8FRyP0aeQu4ugNNOO009evQI6+QB4HAidAMAUFu8/LJ0/vnR1PLx46N9uvfVWu429C99STrmGOlf/5Latj3c9xaHccL5ggULQvD2oLXZs2eHareHg51++ulq3bp1nf5dOFi7sj127NgQtt96662wjtuVbf/8HpDmtnvCNoAjhfZyAABqi6eeit56avn+1u1u2yZ9/HEUvo86Sqrjoau+c5js3r17aDEfOnSonnrqqbC392233abJkyfrC1/4QgigdW3P6VjYdsh24PYWYHl5eTrppJNC0Hb7vfc0d2s5ABxJPAsBAFAbbNokvf22lJx84FZxTysfMybaIuy44/a/9ht1gtcne0iYW6h79eqlwYMHh0nd3od66tSpuvTSS3XuueeGtcx1gcO228cduN1OvmXLlhC2vV7bw+YI2wBqEtrLAQCoBWa9+qqafP/7atG6tZLefFMN9lW9KyuTJkyI2tD79ZMef1xq0+Zw310c4Qrw9u3bQ5X7ueee0/PPPx+Gi8X2o3YoTUtLq5W/o1WrVmn06NF69dVXw8+3bt06nXzyybrgggtClb9v375K9okpAKhBqHQDAFAL3P3UU1q6ebNu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wdvPe57f4edhz/+I7Xyxh4YNGmhg69Zq0aiR5m7cqKW5uerivxH+m+ITpu5eat2awA0A9RShG/WTXwRdeWW0Zs/V7t/8JgrWp50WraX2NHGHTreAv/++9Oyz0pgx0dd++cvR4b26/SJs3brPWr8PVWwKuo/jj49aG5cujQ63ovuF3/vvq+K117R94EDdlJWljt26adCgQWEtde/evZVclX3Hd+X9Zb3m3IfXMzpwxya7O2j75IBfgLZurYr27bV43TrdfffdSk9P13e+8x01956zAFBXxLaC9PaHbgmPDVjbujUKz7tUv91inpWaquEdO+rdxYv1/qZN6nL66VFl263mVdz/GwBQtxC6UT953fSFF0Yvmv70p6id2xXmV1+VWraM2gH9uS1bohdaPhxmv/516Qc/kBwwXfFwi/of/hC1fw8ZIh19dBTaq6Py7Bd1roz48PpC3xffR9+XadO0Yv58Tfrvf/XGO++odevWatu2rXr06KFhw4aFo2fPnpUL4Pn5UVu7g72nuXuP2tge5LH14z7B4MNV/sxMlTVtqr/9979asWKFvvrVr+rEE0889J8XAGqi2KBLh2dXv31S0s+VmzZFgzg95TwxUcmNGum0ggK9evfdGrttm64YMSIK27STA0C916DCCzOB+spB1pPEXcl+661omvme7YNuERw2LKpuO1y68mGuBD/4oHTrrVFVPDs7Csj9+kVVaq/5dpWjulu/KypUkZurvI0bNWX5cs2bN08ffvihxo8fH0JwdnZ2COFdu3bVscceq+OOO059+vRRmqvUe9xOWKs4dWoUuP3icR+tk7t9maT3li3TF558UqlJSXr1L39R/69+9bO9zwGgLvMJWT/n++RkrCMoIUHlDRtq1pIlOnbkSHXv3l1jxoxRs8rujAEAqNMI3YBfQLmNe82aqLXal90+6Gq3XzB5aJmDt8O2K+Sx6q9faPlrHNRdKXf7uSvfubnR9T2wzVWR4cOjsO5quCvF1cjnzLxV18aNG7V69WrNmjVL7777riZMmKBly5apSZMmatmypbp06aLhw4frlFNOCQG8kSvgHtjmdnX/DJXcj9bfr7S8XOc//rjeWrRIt55wgm674AIleku0U0+NHjMAqIf8/Ojn4vPOO0/Lly/Xgw8+qFP9vAgAqPcI3cCuXLVwAHXF1y2BDskOqPvbpssVY7dou9XQ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5nlmMerWW29Ne967wCKp1ICb4ITs4gcfZAZblXFh9qORI+ONQYNSyd8etWpF46FDo4aLfcp6//1MW8KUKaU/JvRi05aw7rqZ/u7lliv/40gSZrPNIho0iHjllYhx43wupAJSfFFfBaHntE+fPvHOO++kIVDs6VlS1vr7779P+39Sjt6lS5c0qKWYstxZ/J/ZLoohaSw8sGjRo0ePUodnUb7/4IMPpr//n//8Jz7++GOHqhWY7NT6iy66KC1knXzyyWmRyn3aJc034GbRlm2c6IEtxxDGX2fNihcHDoyPR46MvVu1inb168ciBEtvv11y766KA4svV11VtrLypZfObKW5ww6ZDDXB94Je37VrF7HmmhHDh2cmpVOVIakgGHQvAHqzCRKvu+66NHCFLDdBYUk/T8D94Ycfpgzv+uuvn7K3xRxcbbzxxqlPm328L7nkkhg8eHCJQTR/hwE39PtOnz497aPKXucqLDzPvJ8OP/zwtJ89bQVjxoxxcr2kv+N8wTC0++/PZLdLOH/MjXPNe0OHxluDB8dKderEDk2bRkO2CKP0nMFrZMwJusrxb6qA8LxfcknpZeVUN1ISzmIPAfcjj2R6sBcmocK14eabR6y4YmbwH7vc+DqUCoJB9wLghD1gwIB48cUX0/Rx9twuKWtN+TS93AQPW2+9dVENUJsf/v/HHntsbLbZZmmwGsPofv7551Kz12S5W7dunabFn3/++Wa7C1C2moGheVSIEHiz0CJJCecJppM//PDfs9tlPK9O+fXXeO277+LTUaNij3XWifYNG/51Tubf/eijiEGDMv3fBjzFheeb2QCvvTb/igcCY4Jt2hjIgu+zT2a6OQP6Fvbajr+/1VYR9etngm63DpMKhkF3OREU0mf63//+N+0lTVk5vagl/TwZbkqoN9poo9hggw1icXp/lHrgzzjjjLQIcdttt6WtxH799df5BtJcFLH1GGXmDLu5/fbb0zR49+4uPDzP9957b2rDePvtt+Piiy9OLR0+15IStv6aOLHcQXGqPBs2LF799ttoVb9+dGnaNOoTQM2JwJugi0y6iguvqTvvzGwrN6+yckrJa9eO+OWXTPB94IERDz6YmYZfUcmUFi0iWrbMBP1UXbjoLBUEg+4FMGzYsLSvJ6XRRx99dIk/O3HixPjggw/iu+++iy222CJlafUXengPO+ywVJ5/+umnp8xmaWXm9IKfe+65KfvJVlNjx471IS1ADRs2THuzL7vssnHllVemvd0NuiWlwVYEI2Siy+mnqVPj9W+/jX4//RQ7NmsWGzRsOO8fpKz4s88yH812FwcWW665JrPgMnegu9himew2wTY3WgoPPTQzLT8Xtt46M4ytW7fM693XoJT3DLrLgQt++kzJcjPcib222SqspJ9nENQbb7yR+rg7d+4cdeZeUVcaqkaZ+YgRI+Kqq66KCRMmlBhcMQGdIVtsP8ZiBsG6U64LE73/bB9GdQivE95PBt5SEePcQMC9AEHI77Nnx/vDh8dLgwZFx1VXjS5NmsSyZC3nF4ARdDvNvDjwenr11cyNbPecuG6jdJxgm+x3vXoRXbtG3HRTxWW357bttpnf88YbmWGBBt1S3jPoLqeRI0fGQw89lEqj6UkuCZPKyXLTf0zwQFZX8y4lZpjaWmutFQ888EDqlS+tzJwg7MYbb0wZ8ueeey6eeeYZp1wXqOOOOy4OOeSQVNmw//77p/eggbdUpAh6+vTJBMXlwDFj2IQJ8dLAgfHDlCmxbdOm0WGVVUr7SxGDB5f7dykP/fBDxJNPRnzzzV/PNwsyTCJn4YVhfQTYbOdFwH3++bkLuEEFRvv2mdf7669bYi4VAIPucpywyW7fdNNN6eJ/l112iZb03JTw83379o3XXnst9SyTyS1pwnmx4zFiMjmD6c4+++yUwS4t2920adPU68skebaZ+vbbbw3GChQ7BdCewZR7JtezoCWpCI0eXfoWTvMwc9as6DV8eNomrPNqq8V2TZtGbUqGS/xLMyMGDjToLnQM47vrrsye3NngeoklMn+WnYxPz/Zqq0WcdVbEmWdmvs61HXeMWHbZiOefd5q+VAAMusvhhx9+SD2mlIifdNJJJf7s1KlT017Sn332WXTs2DE23HDDhX2uCh5T4HfccccYN25cnHPOOaVOM2eYGpnP3XffPYYOHRoXXnhhTKH3SQU7WI3FGRaymG7Oe0xSkRkxYoGy3J/98EPc8tFHaX/urdZYI9qsvHLZ/vLIkZnfZ3lvYcoOzXvhhUxZOdltAm4Ccfq6swF306YRF1wQQYVjZW35yhRzXqe0UwwZskCLTZKqD4Pucpy0b7311tRvvM0226Qe7ZJ+duDAgalMulGjRmlv7vps/6ASsXc5gXOLFi2iW7ducf/996csdkmBNwsgbB3WuHHj1DtP6T+l6So8q666atx9991ptwAy348++qjPtVRs6G8t5wC1STNmRM+hQ+PDESOiZb160blRo6hZ1kwli3uWlxcmri2GDs0MKxswIBNM81yT3c4GuPRyM0383HMjDjgg83VloTpyiy0yQ9zIdnttI+U1g+4yIOhjj+177rkn9XKfeuqpJf78tGnTUob7o48+ig4dOsQmm2xSUc9XwVtttdXSZHICq0svvTRVC5RWZk7AfcEFF6QtpW6++eZS/47yF9vu0f+/9NJLpwF6bMXH8y6pSJSzmolzQf+xY+Pezz+PRWrUiBb16sV6Zc1yg+DcYKcgzaaa7r77MmXlLOTQTsAte/1AsLveehEXXhix996U11X+ndxpp4hllskE3bRVeW0j5S2D7jK64447UuBNXynl4iWd4Cl1ZrgX/cn8/CqlDWvR3+y6665x0EEHpSz3mWeeGaNHjy4xiGaoGtUHBx54YBqyde2116ZWABUmtphjqz5mKzDF/hsG30jSXDhvcOZYdJFFos5ii6XPvxwzJt4aMiRlv1W8Zs6YEeOfeSYmP/JI/P7zz3/PboMAu0OHiIsuivjHP7jQqJo7utFGEWuskdk3/IsvLDGX8phBdxkQ9FHWSikz+0IzPXt+CBQ///zz6NWrVypB34qeHJULj++///3v6NSpU3z44YeplJj+3ZICb4bUnXDCCekx57GnNP0XtvdQwb02uNHzv/POO6fheWeddVYMHz68qu+apMpQxm03OV9M/+23GD5xYqyz4opx1iabpAz3J6NGxXndu8cLAwaULfDmvFMVGU7lDK+NwQMHxiOvvRYvjh4do2vUiFlzXtcRYHfunMlwcw1XVQE36DFnoBofH388k4mXlJcMusuA4WlkUJlAXlKpOAfyUaNGpe2rllxyydTLTbm0yo8qAfq7KR2/5ZZb4oUXXii1zJzHmtJ/hm7973//i3feecfS4wJE0M0C2BVXXJGqTt588824+uqrY+zYsVV91yTlGvNRShhkxXli1h8Zy6kzZ8agceNiycUWi12aN4//brtt2pt75KRJcd0HH8Qz33wTY0tZ0E1Dtfh9udweSpWKYa1PdesWF77zTpzz669xR40a8V3NmvFbdmr5ZptFnHdexKabVm3APWeJOVPMX3mFO2+JuZSnDLpLQRBNL/cSSywRp5xyShr2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OedXFHOgzbluwoQJ8emnn6aFCVqS2NmDx4eMNgtrTImnRTJ73psXgvX9998/JQSXXnrptOMSg4OptlL1ZNBdBgzF4U3AABP2K+RzT3TVCweyvn37puFEK6ywQjroO8yjAJ13XgQlbccfnwmk5+eXXyIeeSTixBNT723ccsv8A3RVu8CCCzfKE9lujGPtwQcfHP/+97/TBck8g2+CbtoI6NufR28ywXL/n36KG3v3jmf794/x06bFMrVrxwkdOsSBbdqkwWtks0dNnhxfjRkTPYcOjVe/+y5GTpqUguzFF100lqpVKzZcddVUor7Z6qvHuquuGjW22abkQX5SBaJ1ivcC2cTs9H+vRVSVGPLFnAqy2bTacJzmddqsWbNUHk17JpVLfJ+sLtdqZL+LRbb/mviBPc4HDRoUzz//fDz33HOpPJzHom7duukx2muvvVLVAIsVZX1fT506NY499tg0ZI3ngP3UOUZQleuxofrxKrQMWG06/fTTU5b7mGOOSSWQDcm0qVrggEYPEQcdVg932GGH9JypwDDsKbtV2G67lfyz48Zl9vJu0CAzdM2AO28wFIasyC677JK2pqHfmx62Z599Ng20ZGcJFtb+lgEg0GahhdI6XidzIZPdon79uH777WO3ddaJ6z/8MGWuL3733bi/T5+oV6dODJs4McZOnZp+domaNWMJ9v5eZZXYfPXVY8s11ohOjRqlYWx/Xsjwe+iJlioJw6q4eAcX6lJVo7ebazC2DyOw5phNWTRZWCZus1DK/A6u0d5///20YMSspGIYiJYNtEePHp2y2fRqM/iMjHa2JYmhiFR0MRV+QUrDab/i/EgLLJWeXbt2TQko4hVmPjBnRNWHme4yvoGy0xqZzMhFH1kY+7urB1ZOGexBsE1ZzR133JGmBavAMBRt3XUjGMzC4Kf5rZZzwvv004i9987sy33bbRH29uctJjRz8UYfK1PBuchjEZSqlnr16mWyJmx9NXx4prrh119L/TeHTpgQt3/ySTz1zTep/JxScgLtZWvXjuYrrhjbNmkSm66+erRZaaU0eG2+2rbN7Fkt5RhZLAa6ErhwTUIGkVYMs1mqarweOU6Tud19991T8oNBxH369Il77703XZeRBaf8mQVVZnUQkNKqWUhZ72yswAID5eK8V1966aU06Izvs6BMwo73MY8TyaGK+v/zuylV59xI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sZnS80aNIg49NOLUU6v63kvSAmPRnawe7WPzk80OFWuGSMWH9wTXycwyKC3BlM10G3RXLALmu+66K84555zo1q1bCrwJoPfYY48ybXdMcM4Mq2y5+u23357mTZ155plpwFqxJQ4NuqtQz5494+OPP079J2wuT7+1VLQoE7/uuogNN4x46KHMdmCTJ2cy3wTjBNoE582aZYJxSsr/8Y+y7+ktSdUQW4SV1M8N9+hWsS1ElSXTnR2ils10r7vuupV+XwsdraxkuNnKly3FTjzxxNRDf+SRR6bvoaTgm8CbFtoGDRrEueeem/b1Zhels88+O7UDFFOft0F3FeHk+vTTT6chEZRu8GJ0BVtFr06diMMPj9h774hPP2XjzYhx4yKmTMns512/fkS7dhGcWEspN5OkfPDdd9/Ft99+mwKM+XG/WxUT3gvDmPESrLE3KTEjSoUI8xBov2RbPVW8JZZYIs4///zUq81QNLYX+/7771OfNpUI2YHN80NP/hZbbJH6wsl49+jRI21hzM5NlLFTbl4MDLqrCPt0M06f3uwddtjBsnJpTlR9bL555iZJBezTTz9NQfcsKnrmw35uFROCaKaXk0nltV9S/+9XX32V3jsEf8WUNa1sDGJm326ek8suuywNSON5uuSSS2LDDTdMgXVJFltssejQoUMqT7/66qvjpZdeSrs4MWTtoIMOSv9uoScfi6+LvZpkuZ977rm0irfXXnu5cbwkSUWI8lhKNQkwStKoUaOiHDyk4sQiFFvoEkiXFsz16dPnz8nlyr0dd9wxbr311vSRBCITyZ9//vmUuS5L4N6qVas477zzYu+9905VCuwJft1116WYiONhIfMIXgXoPenVq1eaPr7ddtulj5IkqbhMnjw5Bd0EGPNDQMFAI4NuFVvQzeveoLv6YYGDUvGDDz447Y9On/c999yTZlOUpkaNGrHWWmulLDe93vTr33///fH6668bdKvi+1SYWM4BZZdddkkvPPfOliSp+PTv3z/69es33/25QcksvaqFXnopzTnngD26y1IyTiILZrorF9U3bANGXzYzJ8heX3vttfHNN9+U6e83b948DjnkkJT5JkvOIkuhH+Ps6a5kX3/9dbz33nvpBdqlS5eiGR4gSZL+jgtUBhIxgbmk7cLodzTTrWKZ5s97YubMmdG0adMS9+gmUCOJRWBOVlyVi+F1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7ZYkSZIWIvDmts0228Stt96aPr7++utxyCGHxPvvv5/Kkw288z/Tzd7cbBemYgu6v/kmIjusYautIlZZpfSp5Pz5RhtFtGiR+fqTTzJ93pIkSZIWKvAm003gvcsuu8TXX38dBx54YLz55pupH9jAO//wnM2Z6TboLragmyw1AfePP2b23WbVpTxN/Wwflv13evfO2d2UJEmSignTrQm8999//7SV2D//+c94+umnY+rUqQbeeRh0//zzzzFmzJioW7duNGrUqKrvUrVQPEH3zJkR48dHTJsWsdJKmYCb3u2yYrJ5Nuj+/vuc3U1JkiSp2Ky00kpx4403xtFHH52+Puyww+KWW26JCRMmGHjnEVoD6M2vWbNmynIvUp54q4AVz6MwfXrmhiWXzGS7y2O55f76nH28JUmSJFWYpZZaKq644oo0yZzp5meddVbay/unn36K33//3eA7T4Ju2gTYCq558+ZVfXeqjeIJun///a8BaNlJ5eUxZ5D+228Ve98kSZIkxaKLLhpdu3ZN+3g3adIk7rzzzpT9HjZsmIF3HgXdDFFbJ1sprCIKumvXjlh88cznlJhTbl4eP//81+dsJSZJkiQpJ/bcc8+45557Yv3114+XX345dt999+jTp0/MnDnTjHc17ueeM9Nt0F2MQTcBN9uD1ayZ6e2eOrV8W39lp56TIW/QIGd3U5IkSVLEJptsEo899lhsueWWMWDAgNh1113TZHMHrFVfPDffffddLLnkkmlAnoot6CZYXm21iHr1IiZNygTRBN5lLU3/+OPM5wTt66+f07sqSZIkKTPZ/KGHHoq99torfvnll9hvv/3ikUceiXHjxpnxzjH66CdNmhRDhw5N08j5urSfHzhwYKpGWH311VOPvoot6AbbhK26aubz996L+OGHsmW7hwyJ+OCDzOerrx7RpElu76ckSZKkZMUVV4zbbrstjj322Fh22WXTx6uvvjr1ebuXd8Xi8ZwyZUoKtD/++ONU4n/EEUfEVVddFdOzQ6lLCLqzk8tbtmzpq3cONaOYrLdeROvWEV98EfH22xE77RSxyioRSywx/78zeXLEdddlJp8vumjEEUdkst2SJEmSKsUSSywR//nPf2LttdeOyy+/PAXdlDFfeOGFqXeYAWxacDNmzEjVAyNHjoxPP/00lfG/88476fssenArbYFjzqC7RYsWPh1zKK7occUVI7bfPqJ374hvvom49daIpZemYSTzcc595HhRjRoV0a1bxL33Zr637roRBxxQZXdfkiRJKlY1atSIgw46KFZeeeW46KKL4vnnn48ffvghLr744thoo41SYK6yowz8559/jhEjRqSy8Pfeey9ef/31VEq+/PLLpwWO1q1bxxZbbJH66unTLomZ7vmrMbvYajKmTIm44YaI227LBNVt2kTsv3/mI3txk8WeMSPixx8j3ngj4v77M3+HfeauuSZixx2r+n8gSZIkFTUyqgTeBIn169ePCy64IHbaaaeoW7duVd+1ao3AeOLEial8fNCgQfHJJ59E9+7dU9BND3ajRo2iVatWaRFjs802i8aNG6fMdWkIKfl32eaNn//iiy/S4oiKNegGvdz33BPx1FMR/fpltg+jVztbas6gtf79IyZOzGTA27aNOOGEiD32KP/+3pIkSZIqFCEMGdkrrrgiTTgnmPz3v/8d+++/fzRs2NBHe67Hatq0aakHnuCardd69eoVn3/+edria4011kjl4O3bt4+OHTumoLu0rPbcePx79+4dnTt3Thlytg1bZM4q4iJXXOXlWay6EES3ahXx+usRAwZkAvERIyJ++y2zvdiaa0Y0apTJgO+2W6Yf3IBbkiRJqhal5iuttFLq8ybIvuuuu+KSSy6JUaNGxWGHHZbKoos90P7tt99S6Xi/fv1SZcBnn32WhqONHTs2TRenbHzdddeNDTbYINq2bZtKynlcFwRB93PPPZf+PtUGBtx/V5xBN5ZdNmKXXSI23zzi228zW4iR4SbrzcrO8suzR0Em+GaVxoBbkiRJqjYI8OrUqRNdu3aNVVZZJe688864/fbb0zCwE044ITbeeOOiC/4IfqkA6Nu3b3z55ZfpxmC077//Pj1G66+/flqQ4CM3vleW8vGy/F56wnlO6rFFs/6meIPuOYPvdu0yt7KgGn/ChIjatUueei5JkiQppwjyatWqFfvuu2/qR77++uvjpZdeip9++ilOPPHE2HHHHWNxqlgLPKs9YcKEVNJNNptAm57q/v37pz7t9dZbL3bdddeU1W7Tpk3KclfUY8Lvpj+caef8PgL4dmWNq4qIQXd5EHAz9fyOOzJ93occkrMnRpIkSVLZsGUY/cTs481gNfq8mWpO1ne//fYryAFrU6dOTYE2w9AItunX/uabb+LXX39N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",
"text/plain": [
"<Figure size 1000x1000 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 可视化带编号的分子\n",
"print(\"分子结构标注了16环的编号:\")\n",
"draw_molecule_with_numbering(mol, numbering, highlight_atoms=list(numbering.keys()))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"示例Fragment对象:\n",
"Fragment(fragment_smiles='CC(C)C', parent_smiles='COc1ccc(C[C@H]2NC(=O)/C=C/C[C@@H]([C@H](C)[C@H]3O[C@@H]3c3ccccc3)OC(=O)[C@H](CC(C)C)OC(=O)CCNC2=O)cc1', cleavage_position=5, fragment_id='macro_0_frag_0', parent_id='macro_0', atom_count=4, molecular_weight=58.12)\n",
"\n",
"转换为字典:\n",
"{\n",
" \"fragment_smiles\": \"CC(C)C\",\n",
" \"parent_smiles\": \"COc1ccc(C[C@H]2NC(=O)/C=C/C[C@@H]([C@H](C)[C@H]3O[C@@H]3c3ccccc3)OC(=O)[C@H](CC(C)C)OC(=O)CCNC2=O)cc1\",\n",
" \"cleavage_position\": 5,\n",
" \"fragment_id\": \"macro_0_frag_0\",\n",
" \"parent_id\": \"macro_0\",\n",
" \"atom_count\": 4,\n",
" \"molecular_weight\": 58.12\n",
"}\n"
]
}
],
"source": [
"# 创建一个示例Fragment对象\n",
"example_fragment = Fragment(\n",
" fragment_smiles=\"CC(C)C\",\n",
" parent_smiles=smiles,\n",
" cleavage_position=5,\n",
" fragment_id=\"macro_0_frag_0\",\n",
" parent_id=\"macro_0\",\n",
" atom_count=4,\n",
" molecular_weight=58.12\n",
")\n",
"\n",
"print(\"示例Fragment对象:\")\n",
"print(example_fragment)\n",
"print(\"\\n转换为字典:\")\n",
"print(json.dumps(example_fragment.to_dict(), indent=2, ensure_ascii=False))\n"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fragment已保存到: ../output/test_fragment.json\n",
"\n",
"从JSON加载的Fragment:\n",
"Fragment(fragment_smiles='CC(C)C', parent_smiles='COc1ccc(C[C@H]2NC(=O)/C=C/C[C@@H]([C@H](C)[C@H]3O[C@@H]3c3ccccc3)OC(=O)[C@H](CC(C)C)OC(=O)CCNC2=O)cc1', cleavage_position=5, fragment_id='macro_0_frag_0', parent_id='macro_0', atom_count=4, molecular_weight=58.12)\n",
"\n",
"验证: 加载的对象与原对象相同? True\n"
]
}
],
"source": [
"# 演示JSON保存和加载\n",
"test_json_path = '../output/test_fragment.json'\n",
"Path(test_json_path).parent.mkdir(parents=True, exist_ok=True)\n",
"\n",
"# 保存到JSON\n",
"example_fragment.to_json_file(test_json_path)\n",
"print(f\"Fragment已保存到: {test_json_path}\")\n",
"\n",
"# 从JSON加载\n",
"loaded_fragment = Fragment.from_json_file(test_json_path)\n",
"print(\"\\n从JSON加载的Fragment:\")\n",
"print(loaded_fragment)\n",
"print(\"\\n验证: 加载的对象与原对象相同?\", loaded_fragment == example_fragment)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. 步骤3: 侧链断裂并保存碎片\n",
"\n",
"现在我们将实际断裂分子的侧链,提取碎片并保存。\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"找到 11 个侧链连接点:\n",
" 位置 2 (环原子 32: C) -> 侧链起始原子 33 (O)\n",
" 位置 4 (环原子 29: C) -> 侧链起始原子 30 (O)\n",
" 位置 5 (环原子 26: C) -> 侧链起始原子 27 (C)\n",
" 位置 5 (环原子 26: C) -> 侧链起始原子 28 (C)\n",
" 位置 6 (环原子 24: C) -> 侧链起始原子 25 (O)\n",
" 位置 7 (环原子 22: C) -> 侧链起始原子 23 (C)\n",
" 位置 8 (环原子 20: C) -> 侧链起始原子 21 (O)\n",
" 位置 9 (环原子 18: C) -> 侧链起始原子 19 (C)\n",
" 位置 12 (环原子 15: C) -> 侧链起始原子 13 (C)\n",
" 位置 13 (环原子 9: C) -> 侧链起始原子 1 (C)\n",
" 位置 14 (环原子 10: C) -> 侧链起始原子 11 (C)\n"
]
}
],
"source": [
"# 识别所有侧链\n",
"side_chains = identify_side_chains(mol, list(numbering.keys()))\n",
"\n",
"print(f\"找到 {len(side_chains)} 个侧链连接点:\")\n",
"for ring_atom_idx, side_chain_start_idx in side_chains:\n",
" position = numbering[ring_atom_idx]\n",
" ring_atom = mol.GetAtomWithIdx(ring_atom_idx)\n",
" side_atom = mol.GetAtomWithIdx(side_chain_start_idx)\n",
" print(f\" 位置 {position:2d} (环原子 {ring_atom_idx}: {ring_atom.GetSymbol()}) -> 侧链起始原子 {side_chain_start_idx} ({side_atom.GetSymbol()})\")\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"分子ID: macro_0\n",
"共提取了 11 个碎片\n",
"\n",
"\n",
"碎片ID: macro_0_frag_0\n",
" 断裂位置: 2\n",
" SMILES: O\n",
" 原子数: 1\n",
" 分子量: 18.02 Da\n",
"\n",
"碎片ID: macro_0_frag_1\n",
" 断裂位置: 4\n",
" SMILES: O\n",
" 原子数: 1\n",
" 分子量: 18.02 Da\n",
"\n",
"碎片ID: macro_0_frag_2\n",
" 断裂位置: 5\n",
" SMILES: C\n",
" 原子数: 1\n",
" 分子量: 16.04 Da\n",
"\n",
"碎片ID: macro_0_frag_3\n",
" 断裂位置: 5\n",
" SMILES: C\n",
" 原子数: 1\n",
" 分子量: 16.04 Da\n",
"\n",
"碎片ID: macro_0_frag_4\n",
" 断裂位置: 6\n",
" SMILES: O\n",
" 原子数: 1\n",
" 分子量: 18.02 Da\n",
"\n",
"碎片ID: macro_0_frag_5\n",
" 断裂位置: 7\n",
" SMILES: C\n",
" 原子数: 1\n",
" 分子量: 16.04 Da\n",
"\n",
"碎片ID: macro_0_frag_6\n",
" 断裂位置: 8\n",
" SMILES: O\n",
" 原子数: 1\n",
" 分子量: 18.02 Da\n",
"\n",
"碎片ID: macro_0_frag_7\n",
" 断裂位置: 9\n",
" SMILES: C\n",
" 原子数: 1\n",
" 分子量: 16.04 Da\n",
"\n",
"碎片ID: macro_0_frag_8\n",
" 断裂位置: 12\n",
" SMILES: CC1CO1\n",
" 原子数: 4\n",
" 分子量: 58.08 Da\n",
"\n",
"碎片ID: macro_0_frag_9\n",
" 断裂位置: 13\n",
" SMILES: CC=Cc1csc(C)n1\n",
" 原子数: 9\n",
" 分子量: 139.22 Da\n",
"\n",
"碎片ID: macro_0_frag_10\n",
" 断裂位置: 14\n",
" SMILES: CC1CO1\n",
" 原子数: 4\n",
" 分子量: 58.08 Da\n"
]
}
],
"source": [
"# 使用cleave_side_chains函数一次性处理所有侧链\n",
"parent_id = f\"macro_{molecule_idx}\"\n",
"mol_fragments = cleave_side_chains(mol, smiles, parent_id, numbering)\n",
"\n",
"print(f\"分子ID: {mol_fragments.parent_id}\")\n",
"print(f\"共提取了 {len(mol_fragments.fragments)} 个碎片\\n\")\n",
"\n",
"# 显示所有碎片信息\n",
"for frag in mol_fragments.fragments:\n",
" print(f\"\\n碎片ID: {frag.fragment_id}\")\n",
" print(f\" 断裂位置: {frag.cleavage_position}\")\n",
" print(f\" SMILES: {frag.fragment_smiles}\")\n",
" print(f\" 原子数: {frag.atom_count}\")\n",
" print(f\" 分子量: {frag.molecular_weight:.2f} Da\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6. 保存碎片到文件夹\n",
"\n",
"为每个分子创建一个文件夹保存所有碎片的JSON文件。\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"创建输出文件夹: ../output/fragments/macro_0\n",
"\n",
"✓ 保存完整碎片信息到: ../output/fragments/macro_0/macro_0_all_fragments.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_0.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_1.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_2.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_3.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_4.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_5.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_6.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_7.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_8.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_9.json\n",
"✓ 保存碎片: ../output/fragments/macro_0/macro_0_frag_10.json\n",
"\n",
"总共保存了 12 个JSON文件\n"
]
}
],
"source": [
"# 创建输出文件夹\n",
"output_dir = Path(f'../output/fragments/{parent_id}')\n",
"output_dir.mkdir(parents=True, exist_ok=True)\n",
"\n",
"print(f\"创建输出文件夹: {output_dir}\\n\")\n",
"\n",
"# 保存整个MoleculeFragments对象\n",
"mol_fragments_path = output_dir / f\"{parent_id}_all_fragments.json\"\n",
"mol_fragments.to_json_file(str(mol_fragments_path))\n",
"print(f\"✓ 保存完整碎片信息到: {mol_fragments_path}\")\n",
"\n",
"# 为每个碎片单独保存JSON文件\n",
"for frag in mol_fragments.fragments:\n",
" frag_path = output_dir / f\"{frag.fragment_id}.json\"\n",
" frag.to_json_file(str(frag_path))\n",
" print(f\"✓ 保存碎片: {frag_path}\")\n",
"\n",
"print(f\"\\n总共保存了 {len(mol_fragments.fragments) + 1} 个JSON文件\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 7. 验证从JSON重新加载数据\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"从JSON加载的数据:\n",
"分子ID: macro_0\n",
"碎片数量: 11\n",
"\n",
"前3个碎片:\n",
" macro_0_frag_0: 位置 2, SMILES: O\n",
" macro_0_frag_1: 位置 4, SMILES: O\n",
" macro_0_frag_2: 位置 5, SMILES: C\n",
"\n",
"✓ JSON数据加载和解析成功!\n"
]
}
],
"source": [
"# 重新加载MoleculeFragments\n",
"loaded_mol_fragments = MoleculeFragments.from_json_file(str(mol_fragments_path))\n",
"\n",
"print(\"从JSON加载的数据:\")\n",
"print(f\"分子ID: {loaded_mol_fragments.parent_id}\")\n",
"print(f\"碎片数量: {len(loaded_mol_fragments.fragments)}\")\n",
"print(f\"\\n前3个碎片:\")\n",
"for frag in loaded_mol_fragments.fragments[:3]:\n",
" print(f\" {frag.fragment_id}: 位置 {frag.cleavage_position}, SMILES: {frag.fragment_smiles}\")\n",
"\n",
"print(\"\\n✓ JSON数据加载和解析成功!\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 总结\n",
"\n",
"我们成功完成了以下步骤:\n",
"\n",
"1. ✓ **固定编号**: 基于内酯结构的C=O碳原子位置1顺时针对16环进行编号\n",
"2. ✓ **定义碎片dataclass**: 使用dataclass存储碎片信息支持JSON导入导出\n",
"3. ✓ **侧链断裂**: 识别并断裂所有侧链提取碎片SMILES\n",
"4. ✓ **保存碎片**: 将碎片信息保存到`output/fragments/macro_X/`文件夹\n",
"\n",
"下一步可以对所有2022个分子进行批处理然后进行统计分析找出哪些位置的取代变化最大。\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 8. 分析数据集中的桥环问题\n",
"\n",
"检查有多少分子存在桥环导致的环原子识别不完整问题。\n"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"分析前100个分子的16环识别情况...\n",
"\n",
"样本数量: 100\n",
"\n",
"环原子数量统计:\n",
" 9个原子: 24 个分子 (24.0%)\n",
" 10个原子: 20 个分子 (20.0%)\n",
" 13个原子: 5 个分子 (5.0%)\n",
" 14个原子: 18 个分子 (18.0%)\n",
" 16个原子: 26 个分子 (26.0%)\n",
" 20个原子: 2 个分子 (2.0%)\n",
" 28个原子: 5 个分子 (5.0%)\n",
"\n",
"✓ 完整识别(16个原子): 26 个分子 (26.0%)\n",
"✗ 不完整识别(非16个): 74 个分子 (74.0%)\n",
"\n",
"前10个不完整识别的分子:\n",
" 索引 0: 14个原子 - PATUPILONE (CHEMBL94657)\n",
" 索引 1: 14个原子 - PATUPILONE (CHEMBL94657)\n",
" 索引 2: 28个原子 - DACTINOMYCIN (CHEMBL1554)\n",
" 索引 3: 10个原子 - LARGAZOLE (CHEMBL1173445)\n",
" 索引 4: 9个原子 - nan (CHEMBL3902498)\n",
" 索引 5: 10个原子 - nan (CHEMBL3593247)\n",
" 索引 6: 10个原子 - LARGAZOLE THIOL (CHEMBL1796689)\n",
" 索引 8: 10个原子 - nan (CHEMBL3593409)\n",
" 索引 9: 10个原子 - nan (CHEMBL3593411)\n",
" 索引 12: 9个原子 - nan (CHEMBL3891120)\n"
]
}
],
"source": [
"# 检查所有分子的环原子数量\n",
"def check_ring_atoms_count(smiles):\n",
" \"\"\"检查分子的16环原子数量\"\"\"\n",
" mol = Chem.MolFromSmiles(smiles)\n",
" if mol is None:\n",
" return None\n",
" ring_atoms = get_ring_atoms(mol)\n",
" return len(ring_atoms)\n",
"\n",
"# 分析前100个分子\n",
"print(\"分析前100个分子的16环识别情况...\\n\")\n",
"sample_size = min(100, len(df))\n",
"ring_counts = []\n",
"\n",
"for idx in range(sample_size):\n",
" smiles = df.iloc[idx]['smiles']\n",
" count = check_ring_atoms_count(smiles)\n",
" ring_counts.append(count)\n",
"\n",
"# 统计结果\n",
"import numpy as np\n",
"ring_counts_array = np.array(ring_counts)\n",
"\n",
"print(f\"样本数量: {sample_size}\")\n",
"print(f\"\\n环原子数量统计:\")\n",
"unique, counts = np.unique(ring_counts_array, return_counts=True)\n",
"for ring_size, count in zip(unique, counts):\n",
" percentage = (count / sample_size) * 100\n",
" print(f\" {ring_size}个原子: {count} 个分子 ({percentage:.1f}%)\")\n",
"\n",
"# 统计完整识别的分子\n",
"complete_molecules = np.sum(ring_counts_array == 16)\n",
"incomplete_molecules = np.sum(ring_counts_array != 16)\n",
"\n",
"print(f\"\\n✓ 完整识别(16个原子): {complete_molecules} 个分子 ({complete_molecules/sample_size*100:.1f}%)\")\n",
"print(f\"✗ 不完整识别(非16个): {incomplete_molecules} 个分子 ({incomplete_molecules/sample_size*100:.1f}%)\")\n",
"\n",
"# 如果存在不完整识别的分子,列出前几个\n",
"if incomplete_molecules > 0:\n",
" print(f\"\\n前10个不完整识别的分子:\")\n",
" shown = 0\n",
" for idx in range(sample_size):\n",
" if ring_counts[idx] != 16 and shown < 10:\n",
" print(f\" 索引 {idx}: {ring_counts[idx]}个原子 - {df.iloc[idx]['molecule_pref_name']} ({df.iloc[idx]['IDs']})\")\n",
" shown += 1\n"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"分析整个数据集...\n",
"已处理 500/2022 个分子...\n",
"已处理 1000/2022 个分子...\n",
"已处理 1500/2022 个分子...\n",
"已处理 2000/2022 个分子...\n",
"\n",
"总样本数量: 2022\n",
"\n",
"环原子数量统计:\n",
" 6个原子: 5 个分子 (0.2%)\n",
" 7个原子: 12 个分子 (0.6%)\n",
" 9个原子: 98 个分子 (4.8%)\n",
" 10个原子: 141 个分子 (7.0%)\n",
" 11个原子: 19 个分子 (0.9%)\n",
" 12个原子: 38 个分子 (1.9%)\n",
" 13个原子: 30 个分子 (1.5%)\n",
" 14个原子: 254 个分子 (12.6%)\n",
" 15个原子: 12 个分子 (0.6%)\n",
" 16个原子: 1241 个分子 (61.4%)\n",
" 20个原子: 2 个分子 (0.1%)\n",
" 26个原子: 1 个分子 (0.0%)\n",
" 28个原子: 165 个分子 (8.2%)\n",
" 32个原子: 4 个分子 (0.2%)\n",
"\n",
"============================================================\n",
"✓ 完整识别(16个原子): 1241 个分子 (61.4%)\n",
"✗ 不完整识别(非16个): 781 个分子 (38.6%)\n",
"============================================================\n",
"\n",
"可用于侧链裂解的分子索引已保存到变量 'complete_indices'\n",
"存在桥环问题的分子索引已保存到变量 'incomplete_indices'\n"
]
}
],
"source": [
"# 分析整个数据集所有2022个分子\n",
"print(\"分析整个数据集...\")\n",
"all_ring_counts = []\n",
"\n",
"for idx in range(len(df)):\n",
" smiles = df.iloc[idx]['smiles']\n",
" count = check_ring_atoms_count(smiles)\n",
" all_ring_counts.append(count)\n",
" if (idx + 1) % 500 == 0:\n",
" print(f\"已处理 {idx + 1}/{len(df)} 个分子...\")\n",
"\n",
"all_ring_counts_array = np.array(all_ring_counts)\n",
"\n",
"print(f\"\\n总样本数量: {len(df)}\")\n",
"print(f\"\\n环原子数量统计:\")\n",
"unique, counts = np.unique(all_ring_counts_array, return_counts=True)\n",
"for ring_size, count in zip(unique, counts):\n",
" percentage = (count / len(df)) * 100\n",
" print(f\" {ring_size}个原子: {count} 个分子 ({percentage:.1f}%)\")\n",
"\n",
"# 统计完整识别的分子\n",
"complete_all = np.sum(all_ring_counts_array == 16)\n",
"incomplete_all = np.sum(all_ring_counts_array != 16)\n",
"\n",
"print(f\"\\n{'='*60}\")\n",
"print(f\"✓ 完整识别(16个原子): {complete_all} 个分子 ({complete_all/len(df)*100:.1f}%)\")\n",
"print(f\"✗ 不完整识别(非16个): {incomplete_all} 个分子 ({incomplete_all/len(df)*100:.1f}%)\")\n",
"print(f\"{'='*60}\")\n",
"\n",
"# 保存完整识别的分子索引\n",
"complete_indices = [i for i, c in enumerate(all_ring_counts) if c == 16]\n",
"incomplete_indices = [i for i, c in enumerate(all_ring_counts) if c != 16]\n",
"\n",
"print(f\"\\n可用于侧链裂解的分子索引已保存到变量 'complete_indices'\")\n",
"print(f\"存在桥环问题的分子索引已保存到变量 'incomplete_indices'\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 9. 可视化问题修复\n",
"\n",
"修复可视化没有显示编号的问题。在Jupyter Notebook中需要确保正确显示matplotlib图形。\n"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"测试分子索引: 7\n",
"分子名称: ARENASTATIN A\n",
"识别到的环原子数: 16\n",
"\n",
"带编号的分子结构:\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAPdCAYAAACXzguGAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Qd81eX5/vGLkEUSEmbC3htkKoI4EPe2jg7rtq2t1U5r/fXX1vZfa+evS6u21jrq3ou6EREVEQTZe++dQEJ2/q/r+XIQkJFADmR83q/X15wkJycnJ3hyru99P/fToKKiokIAAAAAAKDaJVT/TQIAAAAAAEI3AAAAAABxRKUbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAAAOKE0A0AAAAAQJwQugEAAAAAiBNCNwAAAAAAcULoBgAAAAAgTgjdAAAAAADECaEbAAAAAIA4IXQDAAAAABAnhG4AAAAA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nXfe0Y9+9KMwVbtdu3ZUvSsRtj0gza3jH374oR555BF9/PHHysrK0qmnnhrWbfut3weA6kalGwCA2sTD07zXtlvMJ03a/2C0GTOkm26Kwrdby88663DeU8TB+PHj9ec//1kTJkzQpk2b9NWvfjVsM9a/f/8wYRufD9ueDL9s2TJ99NFHYa28H0M/Vj6RceGFF4b90T0tHgDihUo3AAC1ybvvSmvWSEOHSj177r+1fNkyadq0aIuwAQMO571EnBx//PE66qij9PDDD+vJJ5/U448/Hiq3XoPstuiePXuGQWv1ncO29zlfsmRJqGi/9NJLoTugUaNGOuGEE0L3wFlnnaW2bdvSJQAg7gjdAADUJk8/HbWLX3JJ1GK+L7FKuPfxdmt5q1aH814ijtwCfeONN4bweN999+ntt98OreZnn312WOvtQWAetFZfebs1V7Y/+OADvfLKKxozZkyYPn7cccfpjDPOCJVtr4dnEB2Aw4X2cgAAaostW6J2creYeyq528z3Zd486YYbpNWrpd/+VjrvvMN5T3EYh4K5ivvEE0/ovffeC2H78ssvDwF80KBBSkpKqje/Cw+Z88T3999/P5yI8FRyP0aeQu4ugNNOO009evQI6+QB4HAidAMAUFu8/LJ0/vnR1PLx46N9uvfVWu429C99STrmGOlf/5Latj3c9xaHccL5ggULQvD2oLXZs2eHareHg51++ulq3bp1nf5dOFi7sj127NgQtt96662wjtuVbf/8HpDmtnvCNoAjhfZyAABqi6eeit56avn+1u1u2yZ9/HEUvo86Sqrjoau+c5js3r17aDEfOnSonnrqqbC392233abJkyfrC1/4QgigdW3P6VjYdsh24PYWYHl5eTrppJNC0Hb7vfc0d2s5ABxJPAsBAFAbbNokvf22lJx84FZxTysfMybaIuy44/a/9ht1gtcne0iYW6h79eqlwYMHh0nd3od66tSpuvTSS3XuueeGtcx1gcO228cduN1OvmXLlhC2vV7bw+YI2wBqEtrLAQCoBWa9+qqafP/7atG6tZLefFMN9lW9KyuTJkyI2tD79ZMef1xq0+Zw310c4Qrw9u3bQ5X7ueee0/PPPx+Gi8X2o3YoTUtLq5W/o1WrVmn06NF69dVXw8+3bt06nXzyybrgggtClb9v375K9okpAKhBqHQDAFAL3P3UU1q6ebNu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wdvPe57f4edhz/+I7Xyxh4YNGmhg69Zq0aiR5m7cqKW5uerivxH+m+ITpu5eat2awA0A9RShG/WTXwRdeWW0Zs/V7t/8JgrWp50WraX2NHGHTreAv/++9Oyz0pgx0dd++cvR4b26/SJs3brPWr8PVWwKuo/jj49aG5cujQ63ovuF3/vvq+K117R94EDdlJWljt26adCgQWEtde/evZVclX3Hd+X9Zb3m3IfXMzpwxya7O2j75IBfgLZurYr27bV43TrdfffdSk9P13e+8x01956zAFBXxLaC9PaHbgmPDVjbujUKz7tUv91inpWaquEdO+rdxYv1/qZN6nL66VFl263mVdz/GwBQtxC6UT953fSFF0Yvmv70p6id2xXmV1+VWraM2gH9uS1bohdaPhxmv/516Qc/kBwwXfFwi/of/hC1fw8ZIh19dBTaq6Py7Bd1roz48PpC3xffR9+XadO0Yv58Tfrvf/XGO++odevWatu2rXr06KFhw4aFo2fPnpUL4Pn5UVu7g72nuXuP2tge5LH14z7B4MNV/sxMlTVtqr/9979asWKFvvrVr+rEE0889J8XAGqi2KBLh2dXv31S0s+VmzZFgzg95TwxUcmNGum0ggK9evfdGrttm64YMSIK27STA0C916DCCzOB+spB1pPEXcl+661omvme7YNuERw2LKpuO1y68mGuBD/4oHTrrVFVPDs7Csj9+kVVaq/5dpWjulu/KypUkZurvI0bNWX5cs2bN08ffvihxo8fH0JwdnZ2COFdu3bVscceq+OOO059+vRRmqvUe9xOWKs4dWoUuP3icR+tk7t9maT3li3TF558UqlJSXr1L39R/69+9bO9zwGgLvMJWT/n++RkrCMoIUHlDRtq1pIlOnbkSHXv3l1jxoxRs8rujAEAqNMI3YBfQLmNe82aqLXal90+6Gq3XzB5aJmDt8O2K+Sx6q9faPlrHNRdKXf7uSvfubnR9T2wzVWR4cOjsO5quCvF1cjnzLxV18aNG7V69WrNmjVL7777riZMmKBly5apSZMmatmypbp06aLhw4frlFNOCQG8kSvgHtjmdnX/DJXcj9bfr7S8XOc//rjeWrRIt55wgm674AIleku0U0+NHjMAqIf8/Ojn4vPOO0/Lly/Xgw8+qFP9vAgAqPcI3cCuXLVwAHXF1y2BDskOqPvbpssVY7dou9XQ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5nlmMerWW29Ne967wCKp1ICb4ITs4gcfZAZblXFh9qORI+ONQYNSyd8etWpF46FDo4aLfcp6//1MW8KUKaU/JvRi05aw7rqZ/u7lliv/40gSZrPNIho0iHjllYhx43wupAJSfFFfBaHntE+fPvHOO++kIVDs6VlS1vr7779P+39Sjt6lS5c0qKWYstxZ/J/ZLoohaSw8sGjRo0ePUodnUb7/4IMPpr//n//8Jz7++GOHqhWY7NT6iy66KC1knXzyyWmRyn3aJc034GbRlm2c6IEtxxDGX2fNihcHDoyPR46MvVu1inb168ciBEtvv11y766KA4svV11VtrLypZfObKW5ww6ZDDXB94Je37VrF7HmmhHDh2cmpVOVIakgGHQvAHqzCRKvu+66NHCFLDdBYUk/T8D94Ycfpgzv+uuvn7K3xRxcbbzxxqlPm328L7nkkhg8eHCJQTR/hwE39PtOnz497aPKXucqLDzPvJ8OP/zwtJ89bQVjxoxxcr2kv+N8wTC0++/PZLdLOH/MjXPNe0OHxluDB8dKderEDk2bRkO2CKP0nMFrZMwJusrxb6qA8LxfcknpZeVUN1ISzmIPAfcjj2R6sBcmocK14eabR6y4YmbwH7vc+DqUCoJB9wLghD1gwIB48cUX0/Rx9twuKWtN+TS93AQPW2+9dVENUJsf/v/HHntsbLbZZmmwGsPofv7551Kz12S5W7dunabFn3/++Wa7C1C2moGheVSIEHiz0CJJCecJppM//PDfs9tlPK9O+fXXeO277+LTUaNij3XWifYNG/51Tubf/eijiEGDMv3fBjzFheeb2QCvvTb/igcCY4Jt2hjIgu+zT2a6OQP6Fvbajr+/1VYR9etngm63DpMKhkF3OREU0mf63//+N+0lTVk5vagl/TwZbkqoN9poo9hggw1icXp/lHrgzzjjjLQIcdttt6WtxH799df5BtJcFLH1GGXmDLu5/fbb0zR49+4uPDzP9957b2rDePvtt+Piiy9OLR0+15IStv6aOLHcQXGqPBs2LF799ttoVb9+dGnaNOoTQM2JwJugi0y6iguvqTvvzGwrN6+yckrJa9eO+OWXTPB94IERDz6YmYZfUcmUFi0iWrbMBP1UXbjoLBUEg+4FMGzYsLSvJ6XRRx99dIk/O3HixPjggw/iu+++iy222CJlafUXengPO+ywVJ5/+umnp8xmaWXm9IKfe+65KfvJVlNjx471IS1ADRs2THuzL7vssnHllVemvd0NuiWlwVYEI2Siy+mnqVPj9W+/jX4//RQ7NmsWGzRsOO8fpKz4s88yH812FwcWW665JrPgMnegu9himew2wTY3WgoPPTQzLT8Xtt46M4ytW7fM693XoJT3DLrLgQt++kzJcjPcib222SqspJ9nENQbb7yR+rg7d+4cdeZeUVcaqkaZ+YgRI+Kqq66KCRMmlBhcMQGdIVtsP8ZiBsG6U64LE73/bB9GdQivE95PBt5SEePcQMC9AEHI77Nnx/vDh8dLgwZFx1VXjS5NmsSyZC3nF4ARdDvNvDjwenr11cyNbPecuG6jdJxgm+x3vXoRXbtG3HRTxWW357bttpnf88YbmWGBBt1S3jPoLqeRI0fGQw89lEqj6UkuCZPKyXLTf0zwQFZX8y4lZpjaWmutFQ888EDqlS+tzJwg7MYbb0wZ8ueeey6eeeYZp1wXqOOOOy4OOeSQVNmw//77p/eggbdUpAh6+vTJBMXlwDFj2IQJ8dLAgfHDlCmxbdOm0WGVVUr7SxGDB5f7dykP/fBDxJNPRnzzzV/PNwsyTCJn4YVhfQTYbOdFwH3++bkLuEEFRvv2mdf7669bYi4VAIPucpywyW7fdNNN6eJ/l112iZb03JTw83379o3XXnst9SyTyS1pwnmx4zFiMjmD6c4+++yUwS4t2920adPU68skebaZ+vbbbw3GChQ7BdCewZR7JtezoCWpCI0eXfoWTvMwc9as6DV8eNomrPNqq8V2TZtGbUqGS/xLMyMGDjToLnQM47vrrsye3NngeoklMn+WnYxPz/Zqq0WcdVbEmWdmvs61HXeMWHbZiOefd5q+VAAMusvhhx9+SD2mlIifdNJJJf7s1KlT017Sn332WXTs2DE23HDDhX2uCh5T4HfccccYN25cnHPOOaVOM2eYGpnP3XffPYYOHRoXXnhhTKH3SQU7WI3FGRaymG7Oe0xSkRkxYoGy3J/98EPc8tFHaX/urdZYI9qsvHLZ/vLIkZnfZ3lvYcoOzXvhhUxZOdltAm4Ccfq6swF306YRF1wQQYVjZW35yhRzXqe0UwwZskCLTZKqD4Pucpy0b7311tRvvM0226Qe7ZJ+duDAgalMulGjRmlv7vps/6ASsXc5gXOLFi2iW7ducf/996csdkmBNwsgbB3WuHHj1DtP6T+l6So8q666atx9991ptwAy348++qjPtVRs6G8t5wC1STNmRM+hQ+PDESOiZb160blRo6hZ1kwli3uWlxcmri2GDs0MKxswIBNM81yT3c4GuPRyM0383HMjDjgg83VloTpyiy0yQ9zIdnttI+U1g+4yIOhjj+177rkn9XKfeuqpJf78tGnTUob7o48+ig4dOsQmm2xSUc9XwVtttdXSZHICq0svvTRVC5RWZk7AfcEFF6QtpW6++eZS/47yF9vu0f+/9NJLpwF6bMXH8y6pSJSzmolzQf+xY+Pezz+PRWrUiBb16sV6Zc1yg+DcYKcgzaaa7r77MmXlLOTQTsAte/1AsLveehEXXhix996U11X+ndxpp4hllskE3bRVeW0j5S2D7jK64447UuBNXynl4iWd4Cl1ZrgX/cn8/CqlDWvR3+y6665x0EEHpSz3mWeeGaNHjy4xiGaoGtUHBx54YBqyde2116ZWABUmtphjqz5mKzDF/hsG30jSXDhvcOZYdJFFos5ii6XPvxwzJt4aMiRlv1W8Zs6YEeOfeSYmP/JI/P7zz3/PboMAu0OHiIsuivjHP7jQqJo7utFGEWuskdk3/IsvLDGX8phBdxkQ9FHWSikz+0IzPXt+CBQ///zz6NWrVypB34qeHJULj++///3v6NSpU3z44YeplJj+3ZICb4bUnXDCCekx57GnNP0XtvdQwb02uNHzv/POO6fheWeddVYMHz68qu+apMpQxm03OV9M/+23GD5xYqyz4opx1iabpAz3J6NGxXndu8cLAwaULfDmvFMVGU7lDK+NwQMHxiOvvRYvjh4do2vUiFlzXtcRYHfunMlwcw1XVQE36DFnoBofH388k4mXlJcMusuA4WlkUJlAXlKpOAfyUaNGpe2rllxyydTLTbm0yo8qAfq7KR2/5ZZb4oUXXii1zJzHmtJ/hm7973//i3feecfS4wJE0M0C2BVXXJGqTt588824+uqrY+zYsVV91yTlGvNRShhkxXli1h8Zy6kzZ8agceNiycUWi12aN4//brtt2pt75KRJcd0HH8Qz33wTY0tZ0E1Dtfh9udweSpWKYa1PdesWF77zTpzz669xR40a8V3NmvFbdmr5ZptFnHdexKabVm3APWeJOVPMX3mFO2+JuZSnDLpLQRBNL/cSSywRp5xyShr2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OedXFHOgzbluwoQJ8emnn6aFCVqS2NmDx4eMNgtrTImnRTJ73psXgvX9998/JQSXXnrptOMSg4OptlL1ZNBdBgzF4U3AABP2K+RzT3TVCweyvn37puFEK6ywQjroO8yjAJ13XgQlbccfnwmk5+eXXyIeeSTixBNT723ccsv8A3RVu8CCCzfKE9lujGPtwQcfHP/+97/TBck8g2+CbtoI6NufR28ywXL/n36KG3v3jmf794/x06bFMrVrxwkdOsSBbdqkwWtks0dNnhxfjRkTPYcOjVe/+y5GTpqUguzFF100lqpVKzZcddVUor7Z6qvHuquuGjW22abkQX5SBaJ1ivcC2cTs9H+vRVSVGPLFnAqy2bTacJzmddqsWbNUHk17JpVLfJ+sLtdqZL+LRbb/mviBPc4HDRoUzz//fDz33HOpPJzHom7duukx2muvvVLVAIsVZX1fT506NY499tg0ZI3ngP3UOUZQleuxofrxKrQMWG06/fTTU5b7mGOOSSWQDcm0qVrggEYPEQcdVg932GGH9JypwDDsKbtV2G67lfyz48Zl9vJu0CAzdM2AO28wFIasyC677JK2pqHfmx62Z599Ng20ZGcJFtb+lgEg0GahhdI6XidzIZPdon79uH777WO3ddaJ6z/8MGWuL3733bi/T5+oV6dODJs4McZOnZp+domaNWMJ9v5eZZXYfPXVY8s11ohOjRqlYWx/Xsjwe+iJlioJw6q4eAcX6lJVo7ebazC2DyOw5phNWTRZWCZus1DK/A6u0d5///20YMSspGIYiJYNtEePHp2y2fRqM/iMjHa2JYmhiFR0MRV+QUrDab/i/EgLLJWeXbt2TQko4hVmPjBnRNWHme4yvoGy0xqZzMhFH1kY+7urB1ZOGexBsE1ZzR133JGmBavAMBRt3XUjGMzC4Kf5rZZzwvv004i9987sy33bbRH29uctJjRz8UYfK1PBuchjEZSqlnr16mWyJmx9NXx4prrh119L/TeHTpgQt3/ySTz1zTep/JxScgLtZWvXjuYrrhjbNmkSm66+erRZaaU0eG2+2rbN7Fkt5RhZLAa6ErhwTUIGkVYMs1mqarweOU6Tud19991T8oNBxH369Il77703XZeRBaf8mQVVZnUQkNKqWUhZ72yswAID5eK8V1966aU06Izvs6BMwo73MY8TyaGK+v/zuylV59xI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sZnS80aNIg49NOLUU6v63kvSAmPRnawe7WPzk80OFWuGSMWH9wTXycwyKC3BlM10G3RXLALmu+66K84555zo1q1bCrwJoPfYY48ybXdMcM4Mq2y5+u23357mTZ155plpwFqxJQ4NuqtQz5494+OPP079J2wuT7+1VLQoE7/uuogNN4x46KHMdmCTJ2cy3wTjBNoE582aZYJxSsr/8Y+y7+ktSdUQW4SV1M8N9+hWsS1ElSXTnR2ils10r7vuupV+XwsdraxkuNnKly3FTjzxxNRDf+SRR6bvoaTgm8CbFtoGDRrEueeem/b1Zhels88+O7UDFFOft0F3FeHk+vTTT6chEZRu8GJ0BVtFr06diMMPj9h774hPP2XjzYhx4yKmTMns512/fkS7dhGcWEspN5OkfPDdd9/Ft99+mwKM+XG/WxUT3gvDmPESrLE3KTEjSoUI8xBov2RbPVW8JZZYIs4///zUq81QNLYX+/7771OfNpUI2YHN80NP/hZbbJH6wsl49+jRI21hzM5NlLFTbl4MDLqrCPt0M06f3uwddtjBsnJpTlR9bL555iZJBezTTz9NQfcsKnrmw35uFROCaKaXk0nltV9S/+9XX32V3jsEf8WUNa1sDGJm326ek8suuywNSON5uuSSS2LDDTdMgXVJFltssejQoUMqT7/66qvjpZdeSrs4MWTtoIMOSv9uoScfi6+LvZpkuZ977rm0irfXXnu5cbwkSUWI8lhKNQkwStKoUaOiHDyk4sQiFFvoEkiXFsz16dPnz8nlyr0dd9wxbr311vSRBCITyZ9//vmUuS5L4N6qVas477zzYu+9905VCuwJft1116WYiONhIfMIXgXoPenVq1eaPr7ddtulj5IkqbhMnjw5Bd0EGPNDQMFAI4NuFVvQzeveoLv6YYGDUvGDDz447Y9On/c999yTZlOUpkaNGrHWWmulLDe93vTr33///fH6668bdKvi+1SYWM4BZZdddkkvPPfOliSp+PTv3z/69es33/25QcksvaqFXnopzTnngD26y1IyTiILZrorF9U3bANGXzYzJ8heX3vttfHNN9+U6e83b948DjnkkJT5JkvOIkuhH+Ps6a5kX3/9dbz33nvpBdqlS5eiGR4gSZL+jgtUBhIxgbmk7cLodzTTrWKZ5s97YubMmdG0adMS9+gmUCOJRWBOVlyVi+F1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7ZYkSZIWIvDmts0228Stt96aPr7++utxyCGHxPvvv5/Kkw288z/Tzd7cbBemYgu6v/kmIjusYautIlZZpfSp5Pz5RhtFtGiR+fqTTzJ93pIkSZIWKvAm003gvcsuu8TXX38dBx54YLz55pupH9jAO//wnM2Z6TboLragmyw1AfePP2b23WbVpTxN/Wwflv13evfO2d2UJEmSignTrQm8999//7SV2D//+c94+umnY+rUqQbeeRh0//zzzzFmzJioW7duNGrUqKrvUrVQPEH3zJkR48dHTJsWsdJKmYCb3u2yYrJ5Nuj+/vuc3U1JkiSp2Ky00kpx4403xtFHH52+Puyww+KWW26JCRMmGHjnEVoD6M2vWbNmynIvUp54q4AVz6MwfXrmhiWXzGS7y2O55f76nH28JUmSJFWYpZZaKq644oo0yZzp5meddVbay/unn36K33//3eA7T4Ju2gTYCq558+ZVfXeqjeIJun///a8BaNlJ5eUxZ5D+228Ve98kSZIkxaKLLhpdu3ZN+3g3adIk7rzzzpT9HjZsmIF3HgXdDFFbJ1sprCIKumvXjlh88cznlJhTbl4eP//81+dsJSZJkiQpJ/bcc8+45557Yv3114+XX345dt999+jTp0/MnDnTjHc17ueeM9Nt0F2MQTcBN9uD1ayZ6e2eOrV8W39lp56TIW/QIGd3U5IkSVLEJptsEo899lhsueWWMWDAgNh1113TZHMHrFVfPDffffddLLnkkmlAnoot6CZYXm21iHr1IiZNygTRBN5lLU3/+OPM5wTt66+f07sqSZIkKTPZ/KGHHoq99torfvnll9hvv/3ikUceiXHjxpnxzjH66CdNmhRDhw5N08j5urSfHzhwYKpGWH311VOPvoot6AbbhK26aubz996L+OGHsmW7hwyJ+OCDzOerrx7RpElu76ckSZKkZMUVV4zbbrstjj322Fh22WXTx6uvvjr1ebuXd8Xi8ZwyZUoKtD/++ONU4n/EEUfEVVddFdOzQ6lLCLqzk8tbtmzpq3cONaOYrLdeROvWEV98EfH22xE77RSxyioRSywx/78zeXLEdddlJp8vumjEEUdkst2SJEmSKsUSSywR//nPf2LttdeOyy+/PAXdlDFfeOGFqXeYAWxacDNmzEjVAyNHjoxPP/00lfG/88476fssenArbYFjzqC7RYsWPh1zKK7occUVI7bfPqJ374hvvom49daIpZemYSTzcc595HhRjRoV0a1bxL33Zr637roRBxxQZXdfkiRJKlY1atSIgw46KFZeeeW46KKL4vnnn48ffvghLr744thoo41SYK6yowz8559/jhEjRqSy8Pfeey9ef/31VEq+/PLLpwWO1q1bxxZbbJH66unTLomZ7vmrMbvYajKmTIm44YaI227LBNVt2kTsv3/mI3txk8WeMSPixx8j3ngj4v77M3+HfeauuSZixx2r+n8gSZIkFTUyqgTeBIn169ePCy64IHbaaaeoW7duVd+1ao3AeOLEial8fNCgQfHJJ59E9+7dU9BND3ajRo2iVatWaRFjs802i8aNG6fMdWkIKfl32eaNn//iiy/S4oiKNegGvdz33BPx1FMR/fpltg+jVztbas6gtf79IyZOzGTA27aNOOGEiD32KP/+3pIkSZIqFCEMGdkrrrgiTTgnmPz3v/8d+++/fzRs2NBHe67Hatq0aakHnuCardd69eoVn3/+edria4011kjl4O3bt4+OHTumoLu0rPbcePx79+4dnTt3Thlytg1bZM4q4iJXXOXlWay6EES3ahXx+usRAwZkAvERIyJ++y2zvdiaa0Y0apTJgO+2W6Yf3IBbkiRJqhal5iuttFLq8ybIvuuuu+KSSy6JUaNGxWGHHZbKoos90P7tt99S6Xi/fv1SZcBnn32WhqONHTs2TRenbHzdddeNDTbYINq2bZtKynlcFwRB93PPPZf+PtUGBtx/V5xBN5ZdNmKXXSI23zzi228zW4iR4SbrzcrO8suzR0Em+GaVxoBbkiRJqjYI8OrUqRNdu3aNVVZZJe688864/fbb0zCwE044ITbeeOOiC/4IfqkA6Nu3b3z55ZfpxmC077//Pj1G66+/flqQ4CM3vleW8vGy/F56wnlO6rFFs/6meIPuOYPvdu0yt7KgGn/ChIjatUueei5JkiQppwjyatWqFfvuu2/qR77++uvjpZdeip9++ilOPPHE2HHHHWNxqlgLPKs9YcKEVNJNNptAm57q/v37pz7t9dZbL3bdddeU1W7Tpk3KclfUY8Lvpj+caef8PgL4dmWNq4qIQXd5EHAz9fyOOzJ93occkrMnRpIkSVLZsGUY/cTs481gNfq8mWpO1ne//fYryAFrU6dOTYE2w9AItunX/uabb+LXX39N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",
"text/plain": [
"<Figure size 1000x1000 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 启用matplotlib inline显示\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# 选择一个完整识别的分子进行可视化测试\n",
"if len(complete_indices) > 0:\n",
" test_idx = complete_indices[0]\n",
" test_smiles = df.iloc[test_idx]['smiles']\n",
" test_mol = Chem.MolFromSmiles(test_smiles)\n",
" test_numbering = assign_ring_numbering(test_mol)\n",
" \n",
" print(f\"测试分子索引: {test_idx}\")\n",
" print(f\"分子名称: {df.iloc[test_idx]['molecule_pref_name']}\")\n",
" print(f\"识别到的环原子数: {len(test_numbering)}\")\n",
" print(\"\\n带编号的分子结构:\")\n",
" \n",
" # 使用修改后的可视化方法\n",
" draw_molecule_with_numbering(test_mol, test_numbering, highlight_atoms=list(test_numbering.keys()))\n",
"else:\n",
" print(\"没有找到完整识别的分子!\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 10. 解决方案建议\n",
"\n",
"### 方案1只使用完整识别的分子推荐作为起点\n",
"\n",
"**优点:**\n",
"- 保证数据质量和编号准确性\n",
"- 避免错误的侧链裂解\n",
"- 代码简单,不需要特殊处理\n",
"\n",
"**缺点:**\n",
"- 可能丢失部分数据\n",
"- 需要检查剩余分子数量是否足够\n",
"\n",
"### 方案2扩展到其他环大小14, 15, 17, 18元环\n",
"\n",
"**学术合理性解释:**\n",
"1. **结构相似性**14-18元大环内酯都属于大环化合物具有相似的化学性质和生物活性模式\n",
"2. **侧链多样性**:不同环大小的大环内酯可能具有不同的侧链修饰模式,扩展研究范围可以增加碎片库的多样性\n",
"3. **药物化学实践**:在实际药物开发中,研究人员经常考虑不同环大小的类似物来优化药物性质\n",
"4. **文献支持**许多大环内酯药物如大环内酯类抗生素的环大小在14-16之间变化\n",
"\n",
"**实施建议:**\n",
"- 首先完成16元环的分析\n",
"- 如果16元环完整识别的分子数量不足< 500个再扩展到其他环大小\n",
"- 在论文中明确说明扩展的原因和合理性\n",
"\n",
"### 方案3改进算法处理桥环结构\n",
"\n",
"**技术方案:**\n",
"- 检测桥环结构使用RDKit的桥环检测功能\n",
"- 修改环识别逻辑:考虑桥环原子\n",
"- 调整编号策略:为桥环结构设计特殊的编号方案\n",
"\n",
"**难度:**\n",
"- 需要更复杂的算法\n",
"- 可能需要更多的验证\n",
"- 不同类型的桥环需要不同的处理策略\n"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"✓ 已创建过滤后的数据集:\n",
" 原始数据集: 2022 个分子\n",
" 过滤后数据集: 1241 个分子 (61.4%)\n",
" 保存路径: ../ring16/temp_filtered_complete.csv\n",
"\n",
"建议:\n",
" ✓ 过滤后还有 1241 个分子数量充足建议使用方案1\n",
" 可以直接使用这些完整识别的分子进行侧链裂解\n"
]
}
],
"source": [
"# 创建一个过滤后的CSV文件只包含完整识别的分子\n",
"if len(complete_indices) > 0:\n",
" df_filtered = df.iloc[complete_indices].copy()\n",
" output_path = '../ring16/temp_filtered_complete.csv'\n",
" df_filtered.to_csv(output_path, index=False)\n",
" \n",
" print(f\"✓ 已创建过滤后的数据集:\")\n",
" print(f\" 原始数据集: {len(df)} 个分子\")\n",
" print(f\" 过滤后数据集: {len(df_filtered)} 个分子 ({len(df_filtered)/len(df)*100:.1f}%)\")\n",
" print(f\" 保存路径: {output_path}\")\n",
" \n",
" print(f\"\\n建议:\")\n",
" if len(df_filtered) >= 500:\n",
" print(f\" ✓ 过滤后还有 {len(df_filtered)} 个分子数量充足建议使用方案1\")\n",
" print(f\" 可以直接使用这些完整识别的分子进行侧链裂解\")\n",
" elif len(df_filtered) >= 200:\n",
" print(f\" ⚠ 过滤后有 {len(df_filtered)} 个分子,数量中等\")\n",
" print(f\" 建议先尝试方案1如果碎片多样性不足再考虑方案2扩展到其他环大小\")\n",
" else:\n",
" print(f\" ✗ 过滤后只有 {len(df_filtered)} 个分子,数量较少\")\n",
" print(f\" 建议使用方案2扩展到14, 15, 17, 18元环\")\n",
" print(f\" 或者考虑方案3改进算法处理桥环结构\")\n",
"else:\n",
" print(\"✗ 没有找到完整识别的分子!\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 11. 扩展到其他环大小(可选)\n",
"\n",
"如果需要扩展到其他环大小可以使用以下代码检查14, 15, 17, 18元环的分子数量。\n"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"分析前10个分子的多环大小识别情况\n",
"\n",
"分子 0: PATUPILONE\n",
" 16元环: 14个原子 (不完整)\n",
"\n",
"分子 1: PATUPILONE\n",
" 16元环: 14个原子 (不完整)\n",
"\n",
"分子 2: DACTINOMYCIN\n",
" 16元环: 28个原子 (不完整)\n",
"\n",
"分子 3: LARGAZOLE\n",
" 16元环: 10个原子 (不完整)\n",
"\n",
"分子 4: nan\n",
" 16元环: 9个原子 (不完整)\n",
"\n",
"分子 5: nan\n",
" 16元环: 10个原子 (不完整)\n",
"\n",
"分子 6: LARGAZOLE THIOL\n",
" 16元环: 10个原子 (不完整)\n",
"\n",
"分子 7: ARENASTATIN A\n",
" 16元环: 16个原子 ✓\n",
"\n",
"分子 8: nan\n",
" 16元环: 10个原子 (不完整)\n",
"\n",
"分子 9: nan\n",
" 16元环: 10个原子 (不完整)\n",
"\n"
]
}
],
"source": [
"# 检查ChEMBL数据库中其他环大小的大环内酯数量\n",
"# 这里只是一个示例实际需要重新从ChEMBL查询\n",
"\n",
"def check_multiple_ring_sizes(smiles, ring_sizes=[14, 15, 16, 17, 18]):\n",
" \"\"\"检查分子中是否包含指定大小的环\"\"\"\n",
" mol = Chem.MolFromSmiles(smiles)\n",
" if mol is None:\n",
" return {}\n",
" \n",
" results = {}\n",
" for size in ring_sizes:\n",
" # 使用SMARTS模式检测特定大小的环\n",
" pattern = Chem.MolFromSmarts(f\"[r{size}]\")\n",
" if pattern is not None:\n",
" matches = mol.GetSubstructMatches(pattern)\n",
" unique_atoms = list(set([match[0] for match in matches]))\n",
" results[size] = len(unique_atoms)\n",
" else:\n",
" results[size] = 0\n",
" \n",
" return results\n",
"\n",
"# 分析前10个分子作为示例\n",
"print(\"分析前10个分子的多环大小识别情况\\n\")\n",
"for idx in range(min(10, len(df))):\n",
" smiles = df.iloc[idx]['smiles']\n",
" name = df.iloc[idx]['molecule_pref_name']\n",
" results = check_multiple_ring_sizes(smiles)\n",
" \n",
" print(f\"分子 {idx}: {name}\")\n",
" for size, count in sorted(results.items()):\n",
" if count > 0:\n",
" print(f\" {size}元环: {count}个原子\", end=\"\")\n",
" if count == size:\n",
" print(\" ✓\")\n",
" else:\n",
" print(\" (不完整)\")\n",
" print()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 12. 桥环检测与分析\n",
"\n",
"检测哪些分子含有桥环结构,这是导致环原子识别不完整的主要原因。\n"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"分析不完整识别的分子...\n",
"索引 0: 14个环原子, 桥环: 是 - PATUPILONE\n",
"索引 1: 14个环原子, 桥环: 是 - PATUPILONE\n",
"索引 2: 28个环原子, 桥环: 是 - DACTINOMYCIN\n",
"索引 3: 10个环原子, 桥环: 是 - LARGAZOLE\n",
"索引 4: 9个环原子, 桥环: 是 - nan\n",
"索引 5: 10个环原子, 桥环: 是 - nan\n",
"索引 6: 10个环原子, 桥环: 是 - LARGAZOLE THIOL\n",
"索引 8: 10个环原子, 桥环: 是 - nan\n",
"索引 9: 10个环原子, 桥环: 是 - nan\n",
"索引 12: 9个环原子, 桥环: 是 - nan\n",
"索引 15: 14个环原子, 桥环: 是 - nan\n",
"索引 16: 14个环原子, 桥环: 是 - nan\n",
"索引 18: 10个环原子, 桥环: 是 - nan\n",
"索引 19: 10个环原子, 桥环: 是 - nan\n",
"索引 20: 10个环原子, 桥环: 是 - nan\n",
"索引 21: 20个环原子, 桥环: 是 - nan\n",
"索引 22: 9个环原子, 桥环: 是 - nan\n",
"索引 23: 9个环原子, 桥环: 是 - nan\n",
"索引 24: 9个环原子, 桥环: 是 - nan\n",
"索引 25: 10个环原子, 桥环: 是 - nan\n",
"\n",
"样本统计前20个不完整分子:\n",
" 含桥环: 20 个 (100.0%)\n",
" 不含桥环: 0 个 (0.0%)\n"
]
}
],
"source": [
"def has_bridged_ring(mol):\n",
" \"\"\"检测分子是否包含桥环结构\"\"\"\n",
" if mol is None:\n",
" return False\n",
" \n",
" # 获取所有环信息\n",
" ring_info = mol.GetRingInfo()\n",
" \n",
" # 检查是否有原子属于多个环(可能表示桥环)\n",
" for atom in mol.GetAtoms():\n",
" if atom.IsInRing():\n",
" # 获取该原子所属的环数量\n",
" ring_count = ring_info.NumAtomRings(atom.GetIdx())\n",
" if ring_count > 1:\n",
" # 检查是否至少有一个是16元环\n",
" atom_rings = ring_info.AtomRings()\n",
" for ring in atom_rings:\n",
" if atom.GetIdx() in ring and len(ring) == 16:\n",
" return True\n",
" \n",
" return False\n",
"\n",
"# 分析不完整识别的分子中有多少含有桥环\n",
"if len(incomplete_indices) > 0:\n",
" print(\"分析不完整识别的分子...\")\n",
" bridged_count = 0\n",
" non_bridged_count = 0\n",
" \n",
" # 检查前20个不完整识别的分子\n",
" sample = incomplete_indices[:min(20, len(incomplete_indices))]\n",
" \n",
" for idx in sample:\n",
" smiles = df.iloc[idx]['smiles']\n",
" mol = Chem.MolFromSmiles(smiles)\n",
" has_bridge = has_bridged_ring(mol)\n",
" \n",
" if has_bridge:\n",
" bridged_count += 1\n",
" else:\n",
" non_bridged_count += 1\n",
" \n",
" print(f\"索引 {idx}: {all_ring_counts[idx]}个环原子, 桥环: {'是' if has_bridge else '否'} - {df.iloc[idx]['molecule_pref_name']}\")\n",
" \n",
" print(f\"\\n样本统计前{len(sample)}个不完整分子):\")\n",
" print(f\" 含桥环: {bridged_count} 个 ({bridged_count/len(sample)*100:.1f}%)\")\n",
" print(f\" 不含桥环: {non_bridged_count} 个 ({non_bridged_count/len(sample)*100:.1f}%)\")\n",
"else:\n",
" print(\"所有分子都完整识别,没有不完整的分子!\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 13. 最终建议与行动计划\n",
"\n",
"根据上述分析,以下是针对你的研究目标的具体建议:\n"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"================================================================================\n",
"最终建议与行动计划\n",
"================================================================================\n",
"\n",
"当前数据集分析结果:\n",
" - 总分子数: 2022\n",
" - 完整识别(16原子): 1241 (61.4%)\n",
" - 不完整识别: 781 (38.6%)\n",
"\n",
"推荐方案:\n",
"\n",
"✓ 方案1强烈推荐使用完整识别的分子\n",
" - 你有 1241 个完整识别的16元环分子\n",
" - 这个数量非常充足,可以获得丰富的侧链碎片库\n",
" - 数据质量有保证,编号准确\n",
" - 不需要扩展到其他环大小\n",
"\n",
"下一步操作:\n",
" 1. 运行上述分析cells查看具体的数据分布\n",
" 2. 使用 'temp_filtered_complete.csv' 进行批量侧链裂解\n",
" 3. 分析碎片多样性和分布\n",
" 4. 根据结果决定是否需要扩展到其他环大小\n",
"\n",
"可视化问题修复:\n",
" - Cell 10 的可视化需要添加 '%matplotlib inline'\n",
" - 已在 Cell 26 中添加修复代码\n",
" - 确保在notebook开头启用 matplotlib inline 模式\n",
"\n",
"================================================================================\n"
]
}
],
"source": [
"print(\"=\"*80)\n",
"print(\"最终建议与行动计划\")\n",
"print(\"=\"*80)\n",
"\n",
"if 'complete_all' in locals():\n",
" print(f\"\\n当前数据集分析结果:\")\n",
" print(f\" - 总分子数: {len(df)}\")\n",
" print(f\" - 完整识别(16原子): {complete_all} ({complete_all/len(df)*100:.1f}%)\")\n",
" print(f\" - 不完整识别: {incomplete_all} ({incomplete_all/len(df)*100:.1f}%)\")\n",
" \n",
" print(f\"\\n推荐方案:\")\n",
" \n",
" if complete_all >= 800:\n",
" print(f\"\\n✓ 方案1强烈推荐使用完整识别的分子\")\n",
" print(f\" - 你有 {complete_all} 个完整识别的16元环分子\")\n",
" print(f\" - 这个数量非常充足,可以获得丰富的侧链碎片库\")\n",
" print(f\" - 数据质量有保证,编号准确\")\n",
" print(f\" - 不需要扩展到其他环大小\")\n",
" \n",
" elif complete_all >= 400:\n",
" print(f\"\\n✓ 方案1推荐优先使用完整识别的分子\")\n",
" print(f\" - 你有 {complete_all} 个完整识别的16元环分子\")\n",
" print(f\" - 这个数量较为充足\")\n",
" print(f\" - 建议先完成这些分子的侧链裂解和分析\")\n",
" print(f\" - 如果碎片多样性不足再考虑扩展到14-15元环或17-18元环\")\n",
" \n",
" else:\n",
" print(f\"\\n⚠ 方案2推荐扩展到其他环大小\")\n",
" print(f\" - 你只有 {complete_all} 个完整识别的16元环分子\")\n",
" print(f\" - 建议扩展到14, 15, 17, 18元环\")\n",
" print(f\" - 这样可以获得更多的真实分子侧链碎片\")\n",
" \n",
" print(f\"\\n学术答辩时的解释策略:\")\n",
" print(f\" 1. 强调大环内酯药物的环大小通常在12-18之间\")\n",
" print(f\" 2. 不同环大小的大环内酯具有相似的化学骨架和生物活性\")\n",
" print(f\" 3. 侧链修饰是决定药物性质的关键因素,与环大小相对独立\")\n",
" print(f\" 4. 扩展研究范围可以增加碎片库的多样性和代表性\")\n",
" print(f\" 5. 参考文献大环内酯类抗生素红霉素14元环泰乐菌素16元环等\")\n",
" \n",
" print(f\"\\n下一步操作:\")\n",
" print(f\" 1. 运行上述分析cells查看具体的数据分布\")\n",
" print(f\" 2. 使用 'temp_filtered_complete.csv' 进行批量侧链裂解\")\n",
" print(f\" 3. 分析碎片多样性和分布\")\n",
" print(f\" 4. 根据结果决定是否需要扩展到其他环大小\")\n",
" \n",
" print(f\"\\n可视化问题修复:\")\n",
" print(f\" - Cell 10 的可视化需要添加 '%matplotlib inline'\")\n",
" print(f\" - 已在 Cell 26 中添加修复代码\")\n",
" print(f\" - 确保在notebook开头启用 matplotlib inline 模式\")\n",
"\n",
"print(\"\\n\" + \"=\"*80)\n"
]
},
{
"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.14.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}