{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[16:48:05] Explicit valence for atom # 79 C, 7, is greater than permitted\n" ] }, { "ename": "ValueError", "evalue": "Failed to load protein from ../generate/2p16/7.pdb", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[12], line 6\u001b[0m\n\u001b[1;32m 4\u001b[0m protein \u001b[38;5;241m=\u001b[39m Chem\u001b[38;5;241m.\u001b[39mMolFromPDBFile(pdb_file)\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m protein \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m----> 6\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFailed to load protein from \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mpdb_file\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n", "\u001b[0;31mValueError\u001b[0m: Failed to load protein from ../generate/2p16/7.pdb" ] } ], "source": [ "from rdkit import Chem\n", "from rdkit.Chem import Draw\n", "pdb_file=\"../generate/2p16/7h.pdb\"\n", "protein = Chem.MolFromPDBFile(pdb_file)\n", "if protein is None:\n", " raise ValueError(f\"Failed to load protein from {pdb_file}\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from rdkit import Chem\n", "pdb_file = \"../generate/2p16/7.pdb\"\n", "protein = Chem.MolFromPDBFile(pdb_file, sanitize=False)\n", "if protein is None:\n", " raise ValueError(f\"Failed to load protein from {pdb_file}\")\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "module 'plip' has no attribute 'Plip'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[11], line 10\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28mcomplex\u001b[39m\u001b[38;5;241m.\u001b[39mload_pdb(pdb_file)\n\u001b[1;32m 9\u001b[0m \u001b[38;5;66;03m# 初始化PLIP分析器\u001b[39;00m\n\u001b[0;32m---> 10\u001b[0m plip_analyzer \u001b[38;5;241m=\u001b[39m \u001b[43mplip\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mPlip\u001b[49m()\n\u001b[1;32m 11\u001b[0m plip_analyzer\u001b[38;5;241m.\u001b[39manalyze(\u001b[38;5;28mcomplex\u001b[39m)\n\u001b[1;32m 13\u001b[0m \u001b[38;5;66;03m# 获取相互作用信息\u001b[39;00m\n", "\u001b[0;31mAttributeError\u001b[0m: module 'plip' has no attribute 'Plip'" ] } ], "source": [ "import plip\n", "from plip.structure.preparation import PDBComplex\n", "\n", "# 加载PDB文件\n", "pdb_file = '../generate/2p16/merged.pdb'\n", "complex = PDBComplex()\n", "complex.load_pdb(pdb_file)\n", "\n", "# 初始化PLIP分析器\n", "plip_analyzer = plip.Plip()\n", "plip_analyzer.analyze(complex)\n", "\n", "# 获取相互作用信息\n", "interactions = plip_analyzer.interaction_sets\n", "for interaction in interactions:\n", " print(interaction)\n" ] } ], "metadata": { "kernelspec": { "display_name": "pocketgen", "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.8.11" } }, "nbformat": 4, "nbformat_minor": 2 }