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

py-mmcif提取结构解析的方法、提交日期以及pdb ID等

要使用 py-mmcif 提取蛋白质结构的解析方法、发布日期、PDB ID 等信息,通常可以从 entry 或 struct 相关的 CIF 文件数据块中获取。这些字段在 mmCIF 文件中存储元数据信息,例如解析方法、日期和 PDB ID。

下面是一个示例代码,展示如何通过 py-mmcif 包来提取这些信息。

示例代码:

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]

# 提取 PDB ID
pdb_id = data.getObj('entry').getValue('id', 0)
print(f"PDB ID: {pdb_id}")

# 提取解析方法
if data.getObj('exptl') is not None:
    method = data.getObj('exptl').getValue('method', 0)
    print(f"Experimental method: {method}")

# 提取结构的最初提交日期
if data.getObj('pdbx_database_status') is not None:
    deposition_date = data.getObj('pdbx_database_status').getValue('recvd_initial_deposition_date',0)
    print(f"Deposition_date: {deposition_date}")

# 发布日期
# release_date = data.getObj('database_PDB_rev').getValue('date_original', 0)

# 提取结构解析的分辨率
res = None
if data.getObj('refine') is not None:
    try:
        res = float(data.getObj('refine').getValue('ls_d_res_high', 0))
        print(f"Resolution (from refine): {res} Å")
    except:
        print("Resolution not found in 'refine'.")

if (data.getObj('em_3d_reconstruction') is not None) and (res is None):
    try:
        res = float(data.getObj('em_3d_reconstruction').getValue('resolution', 0))
        print(f"Resolution (from em_3d_reconstruction): {res} Å")
    except:
        print("Resolution not found in 'em_3d_reconstruction'.")


http://www.kler.cn/news/324390.html

相关文章:

  • 基于Node.js+Express+MySQL+VUE实现的在线电影视频点播网站管理系统的设计与实现部署安装
  • Kubernetes服务发布基础
  • [leetcode刷题]面试经典150题之9python哈希表详解(知识点+题合集)
  • [go] 状态模式
  • CSS3 字体
  • 卷轴模式开发的技术架构分析与源代码展示
  • 数据结构讲解二叉树 【一】
  • 自动化测试实例:Web登录功能性测试(无验证码)
  • 【JavaEE】——单例模式引起的多线程安全问题:“饿汉/懒汉”模式,及解决思路和方法(面试高频)
  • S32K312 RTD 4.0.0 版本 OCU 例程配置流程说明
  • HuggingChat macOS 版现已发布
  • 【路径规划】基于球向量的粒子群优化(SPSO)算法在无人机路径规划中的实现
  • 002.动手实现softmax回归(pytorch简洁版)
  • AutosarMCAL开发——基于EB MCU驱动
  • 爬虫逆向学习(八):Canvas画图滑块验证码解决思路与绕过骚操作
  • 第十四章:html和css做一个心在跳动,为你而动的表白动画
  • Maven 实现依赖统一管理
  • 树莓派外挂Camera(基操)(TODO)
  • 如何通过 GitHub Actions 使用 SSH 自动化部署到阿里云 ECS 实例
  • Hadoop三大组件之YARN(一)
  • 丹摩智算(damodel)部署stable diffusion实验
  • 计241 作业2:C程序设计初步
  • 19.3 打镜像部署到k8s中,prometheus配置采集并在grafana看图
  • 《程序猿之Redis缓存实战(1) · 基础知识》
  • 哈希知识点总结:哈希、哈希表、位图、布隆过滤器
  • 视频融合共享平台LntonAIServer视频智能分析抖动检测算法和过亮过暗检测算法
  • vue3 实现文本内容超过N行折叠并显示“...展开”组件
  • 基于Hive和Hadoop的图书分析系统
  • jdk1.6版本发送HTTPS请求,报错Could not generate DH keypair问题解决
  • Synchronized和 ReentrantLock有什么区别?