用途:面向结构生物信息学任务,使用 Bio.PDB 解析和分析蛋白质结构文件(PDB/mmCIF),适用于需要结构解析、几何测量、接触分析、结构比较与结构编辑的场景。
主要能力:
- 结构解析:用 PDBParser(QUIET=True) 读取 .pdb,用 MMCIFParser(QUIET=True) 读取 .cif/.mmcif。
- 层级访问:通过 get_models()、get_chains()、get_residues()、get_atoms() 迭代器访问 model→chain→residue→atom 层级。
- 几何计算:基于原子坐标(NumPy 数组)用欧氏范数计算距离,如 np.linalg.norm(a.coord - b.coord);角度与二面角可用 Bio.PDB.vectors 的 calc_angle、calc_dihedral。
- 邻居搜索:NeighborSearch(list(structure.get_atoms())) 建立空间索引,search(center, radius, level="A"|"R"|"C") 返回指定层级邻居,用于截断距离内的接触分析。
- 结构操作:提取、保存子集(链/残基)并写回 PDB/mmCIF;用 Superimposer 做叠合与 RMSD 类评估。
- 质量/注释:可选集成外部 DSSP 可执行文件(如 mkdssp)获取二级结构与可及性。
使用方式:按文档约定,将运行参数写入 config/task_config.json,再通过 python scripts/<task_name>.py 调用脚本,避免堆叠大量 CLI 参数。示例配置含 input_path、format、chain_id、atom_name、distance_cutoff、output_path;示例脚本 scripts/neighbor_search.py 加载结构、取首个 model 与指定链、选取参考原子、执行邻居搜索并输出 JSON。运行命令:python scripts/neighbor_search.py。所有文件 I/O 显式使用 encoding="utf-8",写 JSON 时用 ensure_ascii=False。
依赖:biopython>=1.79、numpy>=1.21;DSSP 可执行文件为可选,版本取决于系统安装。
限制:缺少源数据、标识符、文件或凭据时不适用;不得用于编造结果、无依据结论或超出范围的任务;若更简单的直接回答即可满足,则不必使用该工作流。执行前需校验必需输入,缺失时提前停止并说明最小修复;外部依赖或脚本失败时需给出命令路径、可能原因与恢复步骤;部分输出需明确标注未完成的检查。输出建议使用确定性文件名如 biopython_structure_result.md,并附简短验证摘要(检查内容、假设与剩余限制)。