py-mmcif 包atom_site 对象介绍

在 py-mmcif 包中,atom_site 对象用于存储蛋白质或小分子结构中每个原子的坐标及其他相关信息。它包含了每个原子的位置、类型、残基编号等详细信息,通常对应于 PDB 文件的 ATOM 记录。

常见的 atom_site 属性

以下是 atom_site 对象中一些常见的属性:

  • group_PDB:该字段通常是 ATOM 或 HETATM,表示这是标准的原子记录还是异构分子原子记录。
  • label_atom_id:原子的名称,例如 CA 表示主链的 alpha 碳。
  • label_comp_id:残基的名称,例如 ALA 表示丙氨酸。
  • label_asym_id:链的标识符(asym_id),例如 A 表示链 A。
  • label_seq_id:序列编号,表示该残基在蛋白质中的位置。
  • Cartn_x, Cartn_y, Cartn_z:原子的三维坐标。
  • occupancy:该原子的占有率,通常为 1.0。
  • B_iso_or_equiv:原子的温度因子(B 因子),表示原子的移动性。
  • auth_atom_id, auth_comp_id, auth_asym_id, auth_seq_id:这些字段是原始的 PDB 编号,代表原子、残基和链的名称以及编号。

使用 atom_site 提取信息的示例代码

以下是如何使用 py-mmcif 包提取 atom_site 对象中的信息的示例代码:

from mmcif.io.PdbxReader import PdbxReader
import gzip# mmCIF 文件路径
cif_file_path = '/path/to/your/file.cif.gz'data = []
# 打开并读取 gzipped mmCIF 文件
with gzip.open(cif_file_path, 'rt') as cif:reader = PdbxReader(cif)reader.read(data)# 提取第一个数据块
data = data[0]# 获取 atom_site 对象
atom_site = data.getObj('atom_site')# 打印 atom_site 的所有行信息
for row in atom_site.getRowList():model = row[atom_site.getIndex('pdbx_PDB_model_num')] # model number (for multi-model PDBs, e.g. NMR)group_PDB = row[atom_site.getIndex('group_PDB')]atom_name = row[atom_site.getIndex('label_atom_id')]residue_name = row[atom_site.getIndex('label_comp_id')]chain_id = row[atom_site.getIndex('label_asym_id')]seq_id = row[atom_site.getIndex('label_seq_id')]x_coord = row[atom_site.getIndex('Cartn_x')]y_coord = row[atom_site.getIndex('Cartn_y')]z_coord = row[atom_site.getIndex('Cartn_z')]b_factor = row[atom_site.getIndex('B_iso_or_equiv')]print(f"{model} {group_PDB} {atom_name} {residue_name} {chain_id} {seq_id} ({x_coord}, {y_coord}, {z_coord}) B-factor: {b_factor}")

解释:

  1. group_PDB: 是原子类别,通常是 ATOM(标准原子)或 HETATM(异构分子原子)。
  2. label_atom_id: 是原子的名称,例如 CA 表示主链 alpha 碳。
  3. label_comp_id: 是残基的名称,例如 ALA 表示丙氨酸。
  4. label_asym_id: 是链的标识符,例如 A 表示链 A。
  5. label_seq_id: 是序列中的残基编号。
  6. Cartn_x, Cartn_y, Cartn_z: 是原子的三维坐标。
  7. B_iso_or_equiv: 表示原子的 B 因子(温度因子)。

这段代码读取一个压缩的 CIF 文件,提取所有原子的坐标、名称、残基信息以及 B 因子,并以人类可读的格式打印出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/53816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

备战软考Day04-计算机网络

1、计算机网络的分类 2、七层网络体系结构 3、网络的设备与标准 4、TCP/IP协议族 TCP/IP作为Internet的核心协议,被广泛应用于局域网和广域网中,目前已成为事实上的国际标准 1、TCP/IP分层模型 TCP/IP协议是Internet的基础和核心,和OSI参考…

ConstructorParameters

ConstructorParameters 是 TypeScript 中的一个工具类型(utility type),它用于获取构造函数参数的类型。这个工具类型可以用来提取类构造函数的所有参数类型的元组。 用法 ConstructorParameters 的基本语法如下: type Constru…

raylib实现生产者消费者模型增加缓冲提高帧率

原来增加了四叉树导致帧率下降 后来学了生产者消费者模型&#xff0c;尝试追加缓冲池&#xff0c;剥离主函数查找需要更新的数据 帧率上升稳定到60帧 多了10 帧 中间工程主要是探索数据结构体怎么安排 // 参考自 https://zhuanlan.zhihu.com/p/693482704 #include <stdio.…

OJ在线评测系统 在Linux虚拟机搭建Docker 概念 入门 安装

Docker的基本概念 为什么要用docker容器技术 为了提升系统的安全性 把不同的程序和宿主机进行隔离 使得某个程序 应用的执行不会影响到系统本身 docker技术可以实现程序和宿主机的隔离 容器可以理解成对一系列应用程序、服务和环境的封装 从而把程序运行在一个隔离的 封闭…

数据分析工具julius ai如何使用

什么是julius ai Julius AI 是一款强大的ai数据分析工具。用户可以使用excel、数据库、文本文件等多种格式的数据&#xff0c;Julius AI 会自动分析这些数据并提供详细的解释和可视化图表。官网显示它目前已经有三十万用户。它也支持手机版。 虽然openai也支持生成图表&#xf…

速盾:视频开cdn合适还是视频点播合适?

在选择视频服务时&#xff0c;许多企业和个人面临了一个重要的决策&#xff0c;那就是选择是使用开CDN&#xff08;内容分发网络&#xff09;还是使用视频点播服务。这两种选择都有各自的优势和适用场景&#xff0c;因此在做出决定之前&#xff0c;我们需要仔细评估自身的需求和…

智能编辑器、版本控制与自动化脚本

在繁忙的工作中&#xff0c;每个开发者都渴望拥有一个“秘密武器”&#xff0c;帮助自己提升效率、减少错误&#xff0c;从而更快地完成任务。那么&#xff0c;在众多编程工具中&#xff0c;哪一款能够成为你的工作效率翻倍的“秘密武器”呢&#xff1f;本文将探讨智能的代码编…

python 获取当前git的repo地址

要获取当前 Git 仓库的远程地址&#xff0c;可以使用 subprocess 模块执行 Git 命令。下面是如何做到这一点的示例代码&#xff1a; import subprocessdef get_git_remote_url():try:# 获取远程 URLresult subprocess.run([git, config, --get, remote.origin.url],checkTrue…

jmeter本身常用性能优化方法

一、常用配置&#xff1a; 修改Jmeter.bat文件&#xff0c;调整JVM参数(修改jmeter本身的最小最大堆内存)&#xff0c;默认都是1个G set HEAP-Xms5g -Xmx5g -XX:MaxMetaspaceSize256m我的本机内存是8G&#xff0c;那最大可以设置870%(本机内存的70%) 这里我设置的5g 如果有…

STL与PLY格式转化

一、STL转化为PLY 利用PCL库中vtk_lib_io实现&#xff0c;#include <pcl/io/vtk_lib_io.h>&#xff0c;C语言。 提供一个用于测试的数据&#xff1a; 通过网盘分享的文件&#xff1a;ply_stl 链接: https://pan.baidu.com/s/1xnO5s2kiUf0Cs35XVyfTHA?pwdxmax 提取码:…

count(1),count(*)与 count(‘列名‘) 的区别

文章目录 COUNT(expr)性能对比count(*) VS count(1)count(*) VS count(列名) count(*)会走索引吗MyISAM count优化InnoDB如何处理count(*)总结 参考官方文档&#xff1a; https://dev.mysql.com/doc/refman/8.4/en/aggregate-functions.html#function_count COUNT(expr) coun…

[贪心+数学/数学+位运算] 两种方法O(1)解决 消减整数

标题&#xff1a;[贪心数学/数学位运算] 两种方法O(1)解决 消减整数 个人主页水墨不写bug 目录 一、题目&#xff1a;消减整数(Newcoder) 二、题目分析 1.理解题意&#xff1a; 2.解决问题 解法详解一&#xff1a;贪心数学 解法一参考代码&#xff1a; 解法详解二&#xf…

树上差分详解

零、前言 关于差分&#xff1a; 差分数组详解&#xff0c;一维二维差分-CSDN博客 关于LCA&#xff1a; LCA算法-倍增算法_lca倍增算法-CSDN博客 LCA算法-Tarjan算法_lca数组-CSDN博客 树链剖分——重链剖分&#xff0c;原理剖析&#xff0c;代码详解-CSDN博客 一、树上差…

大数据电商数仓项目--实战(一)数据准备

第一章 数仓分层 1.1 为什么要分层 1.2 数仓命名规范 1.2.1 表命名 ODS层命名为ods_表名DIM层命名为dim_表名DWD层命名为dwd_表名DWS层命名为dws_表名DWT层命名为dwt_表名ADS层命名为ads_表名临时表命名为tmp_表名 1.2.2 表字段类型 数量类型为bigint金额类型为decimal(16…

HDF5文件浏览软件--H5View

概述 H5View是一款轻量级桌面软件&#xff0c;旨在提供用户友好的界面以读取和展示 HDF5 文件中的数据结构。该软件允许用户查看文件的数据目录和数据集&#xff0c;并支持将选定的数据集导出为多种格式。 功能特点 读取 HDF5 文件 支持打开和读取 HDF5 格式的文件。显示文件…

VS Code激活python虚拟环境常见报错

VS Code激活python虚拟环境常见报错 问题1&#xff1a;执行激活 activate 报错 问题1&#xff1a;执行激活 activate 报错 解决&#xff1a; Win X *执行 set-executionpolicy remotesigned 再输入 Y

使用 Puppeteer-Cluster 和代理进行高效网络抓取: 完全指南

文章目录 一、介绍&#xff1f;二、什么是 Puppeteer-Cluster&#xff1f;三、为什么代理在网络抓取中很重要&#xff1f;四、 为什么使用带代理的 Puppeteer-Cluster&#xff1f;五、分步指南&#xff1a; 带代理的 Puppeteer 群集5.1. 步骤 1&#xff1a;安装所需程序库5.2. …

Vue(15)——组合式API②

生命周期函数 选项式组合式beforeCreate/createdsetupbeforeMountonBeforeMount mountedonMounedbeforeUpdateonBeforeUpdateupdatedonUpdatedbeforeUnmountonBeforeUnmountunmountedonUnmounted 父子通信 父传子基本思想&#xff1a; 父组件中给子组件绑定属性…

【笔记】自动驾驶预测与决策规划_Part3_路径与轨迹规划

文章目录 0. 前言1. 基于搜索的路径规划1.1 A* 算法1.2 Hybrid A* 算法 2. 基于采样的路径规划2.1 Frent Frame方法2.2 Cartesian →Frent 1D ( x , y ) (x, y) (x,y) —> ( s , l ) (s, l) (s,l)2.3 Cartesian →Frent 3D2.4 贝尔曼Bellman最优性原理2.5 高速轨迹采样——…

部署wordpress项目

一、先部署mariadb 二、在远程登录工具上进行登录测试&#xff0c;端口号为30117&#xff0c;用户为 root&#xff0c;密码为123 三、使用测试工具&#xff1a; [rootk8s-master aaa]# kubectl exec -it pods/cluster-test0-58689d5d5d-7c49r -- bash 四、部署wordpress [root…