当前位置: 首页 > news >正文

【Phenix】使用教程1|使用phenix.map_model_cc进行结构验证|整体结构CC计算/单个氨基酸的CC

在这里插入图片描述

  • 博主简介:努力学习的22级计算机科学与技术本科生一枚🌸
  • 博主主页: @Yaoyao2024
  • 往期回顾:【AlphaFold2】深入浅出,讲解Evoformer|学习笔记
  • 每日一言🌼: 永远不要只看见前方路途遥远 而忘了从前的自己坚持了多久才走到这里。🌺

前言

博主刚接触AI for Biology,这个领域有很多需要掌握且重要的分析工具(eg:Phenix/Chimerax),网上教程少之又少,英文的文档对初学者来说毕竟还是难以一下子理解和掌握。故决定把使用过程中的收获和使用方法记录下来,方便这个领域的同行以及后来者参阅。

关于Phenix的命令行方法使用的文档,我目前参阅的是这两个

  • https://phenix-online.org/version_docs/1.17.1-3660/overviews/validation_cryo_em.html
  • https://phenix-online.org/documentation/

一、Phenix介绍

https://phenix-online.org/documentation/
在这里插入图片描述

phenix 是一个用于大分子晶体学研究的综合性软件包,它和 Python 之间存在紧密的联系,下面详细解释 phenix 与 Python 的关系,以及它与虚拟环境中 Python 的关联。

1. phenix 与 Python 的关系

  • 基于 Python 开发phenix 是使用 Python 语言开发的,Python 作为一种高级、通用、解释型的编程语言,具有简洁易读的语法和丰富的库,适合用于快速开发和实现复杂的算法。phenix 借助 Python 构建了用户界面、脚本接口以及各种功能模块,使得用户可以通过编写 Python 脚本来调用 phenix 的功能,实现自动化的晶体学数据处理和分析。

  • Python 作为脚本语言phenix 提供了大量的 Python 脚本和工具,用户可以使用这些脚本来完成诸如晶体结构解析、精修、建模等任务。例如,用户可以编写 Python 脚本调用 phenix.refine 模块来进行晶体结构的精修。

  • Python 模块和库的使用phenix 内部使用了许多 Python 标准库和第三方库,同时也开发了自己的 Python 模块,如 libtbx 等。这些模块和库为 phenix 提供了强大的功能支持,包括数据处理、算法实现、图形界面设计等。

2. phenix 中的 Python 与虚拟环境中 Python 的关系

  • 可能相互独立phenix 通常会自带一个 Python 解释器和相关的 Python 环境,这个环境是为了确保 phenix 能够稳定运行而专门配置的。它可能包含了特定版本的 Python 以及 phenix 所需的所有依赖库。而虚拟环境中的 Python 是你为了开发其他项目而创建的独立 Python 环境,与 phenix 自带的 Python 环境相互独立。

  • 可以集成使用:在某些情况下,你可能希望将 phenix 集成到你自己的虚拟环境中,以便在同一个环境中使用 phenix 和其他 Python 库。为了实现这一点,你需要将 phenix 的安装目录添加到虚拟环境的 PYTHONPATH 中,让虚拟环境的 Python 解释器能够找到 phenix 的模块和库。例如,在虚拟环境中执行以下命令:

export PYTHONPATH=/path/to/phenix/lib/python3.x/site-packages:$PYTHONPATH

其中,/path/to/phenixphenix 的实际安装目录,python3.xphenix 所使用的 Python 版本。

  • 版本兼容性问题:需要注意的是,phenix 对 Python 版本有一定的要求,通常会指定特定的 Python 版本(如 Python 3.7)。因此,在集成 phenix 到虚拟环境时,要确保虚拟环境中的 Python 版本与 phenix 兼容,否则可能会出现模块导入错误或其他运行时问题。

综上所述,phenix 与 Python 紧密相关,它基于 Python 开发并使用 Python 作为脚本语言。phenix 自带的 Python 环境与虚拟环境中的 Python 可以相互独立,也可以通过配置进行集成使用,但需要注意版本兼容性问题。

二、phenix.map_model_cc

phenix.map_model_cc 是 Phenix 中专门用于计算 模型与电子密度图的整体及残基级别相关性(CC, Correlation Coefficient) 的工具。它比通用的 real_space_refinevalidation_cryoem直接地提供 CC 计算功能,尤其适合快速评估模型与实验数据的匹配程度。


1. phenix.map_model_cc 的功能

  • 整体 CC 计算:输出模型与密度图的全局相关系数(整体模型质量评估)。

  • 残基级别 CC(cc_per_residue:计算每个氨基酸残基的局部电子密度相关性,识别弱密度区域。

  • 链级别 CC:可选计算每条链的平均 CC。

  • 支持多种数据:适用于 X 射线晶体学(.mtz)和冷冻电镜(.mrc/.map)密度图。


2. 基本用法

命令行示例
phenix.map_model_cc model.pdb map.mrc

输出结果

  • 终端打印全局 CC 值。

  • 生成日志文件(.log),包含残基级别的 CC 表格(如下示例):

RESIDUE  CHAIN  RESID  CC
ALA      A      1      0.82
LEU      A      2      0.76
常用参数
参数说明
output_per_residue=True强制输出残基级别 CC(默认已启用)
resolution=3.0指定分辨率(影响 CC 计算方式)
output_file=cc_results.txt将结果保存到指定文件

🪧示例

phenix.map_model_cc /home/huangfuyao/proj/CryFold/7uqx_win300_th0.8/see_alpha_output/ca_anchor_80_NMS_min0_0.1.cif \
/hdd1/msai/db/emdb/emd_26701.map \
resolution=3.3 \
per_residue=True \
output.filename=7uqx_ph_residue_cc.txt
Starting phenix.map_model_cc

有一个bug是这个filename没什么用,最终会在同目录生成一个cc_per_residue.log,里面记录了每个氨基酸的cc
在这里插入图片描述

在这里插入图片描述


3. 高级用法

> phenix.map_model_cc --show-defaults
map_model_cc {resolution = Nonescattering_table = wk1995 it1992 n_gaussian neutron *electronatom_radius = Nonecompute {cc_per_chain = Truecc_per_residue = Truecc_per_residue_group = Falsefsc = Truecc_mask = Truecc_volume = Truecc_peaks = Truecc_box = Truecc_image = False}
}
output {file_name_prefix = Nonefilename = Nonefile_name = Noneprefix = Nonesuffix = Noneserial = 0serial_format = "%03d"overwrite = False
}
(1) 计算局部区域 CC

若只需分析特定残基范围(如结合位点):

phenix.map_model_cc model.pdb map.mrc selection="chain A and resid 10:20"
(2) 与 Python API 集成

通过脚本编程获取 CC 数据:

from phenix.command_line import map_model_ccresult = map_model_cc.run(args=["model.pdb", "map.mrc"],output_per_residue=True
)# 提取全局 CC
print("Global CC:", result.global_cc)# 提取残基 CC
for residue in result.per_residue_cc:print(f"{residue.chain_id} {residue.resseq} {residue.resname}: CC={residue.cc:.3f}")

4. 结果解读

  • 全局 CC

    • > 0.8:模型与密度图匹配极好(高分辨率结构常见)。

    • 0.6–0.8:中等质量,需检查局部问题。

    • < 0.5:可能存在严重错误(如模型偏差或低分辨率数据)。

  • 残基 CC

    • 低值残基(如 CC < 0.3)可能对应:

5. 与其他工具对比

工具适用场景残基 CC 输出额外功能
phenix.map_model_cc快速 CC 评估支持选区分析
phenix.real_space_refine结构优化中 CC 监控实时优化模型
phenix.validation_cryoem冷冻电镜专用验证B因子、局部分辨率

6. 注意事项

  • 分辨率影响:低分辨率下 CC 值普遍偏低,需谨慎解读。

  • 原子掩模(masking):计算 CC 时会自动排除溶剂区域,可通过 mask_params 调整。

  • 缺失原子处理:若模型缺失部分原子(如柔性区域),可能导致局部 CC 降低。


总结

phenix.map_model_cc 是 Phenix 中最直接、高效的模型-密度图相关性分析工具,特别适合:

  1. 快速验证新构建的模型质量。

  2. 定位需手动修正的低 CC 值残基。

  3. 与优化工具(如 real_space_refine)配合使用,指导迭代修正。

http://www.dtcms.com/a/293000.html

相关文章:

  • Windows入侵排查入门实例
  • 前端_CSS复习
  • 基于 NumPy 的高效数值计算技术解析与实践指引
  • Navicat 远程连接SQLlite数据库
  • 前端学习日记(十)
  • 5G 智慧矿山监控终端
  • Python vs C++ 深度对比
  • 【实例】集团性企业数据整合指南:分子公司到总部的接入方案
  • 类加载过程及双亲委派模型
  • 木马派RV1106开发板驱动AIC8800DC USB蓝牙模块,用bluez-alsa库与蓝牙音箱配对并播放wav声音文件
  • 101.对称二叉树
  • 深入解析 Pandas:Python 数据分析的强大工具
  • 浅谈——C++和C#差异
  • 面试150 括号生成
  • 【3GPP】5G专用词汇1
  • 串口+DMA:固件库踩坑日记
  • 开发者的AI认知指南:用大模型重新理解人工智能(上)
  • Python排序算法全解析
  • Spring 核心知识点梳理 1
  • 【Lucene】架构
  • POSIX系统介绍
  • 【小白量化智能体】应用6:根据通达信指标等生成机器学习Python程序
  • A316-LS-MIC-V2:USB AI直播麦克风评估板技术解析
  • Linux——进程间通信,匿名管道,进程池
  • Spring AI 系列之二十 - Hugging Face 集成
  • 轩辕杯2025 Pwn baby_heap WP(house_of_apple2)
  • FFMPEG 解码流程 硬解码
  • 从零构建实时通信引擎:Freeswitch源码编译与深度优化指南
  • netty的编解码器,以及内置的编解码器
  • Linux系统权限全面解析:掌握你的数字王国钥匙