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

AF3 generate_chain_data_cache脚本解读

AlphaFold3 generate_chain_data_cache 脚本在源代码的scripts文件夹下。该脚本从指定目录中批量解析 mmCIF/PDB 文件的工具,并将每个链的基本信息(序列、分辨率、是否属于聚类等)提取并写入 JSON 文件,主要用于后续蛋白质建模、过滤或训练数据准备。

源代码:

import argparse
from functools import partial
import json
import logging
from multiprocessing import Pool
import os
import string
from collections import defaultdict
from tqdm import tqdm
from src.data.mmcif_parsing import parse
from src.common import protein, residue_constants
import sys
sys.path.append("../../../Downloads")  # an innocent hack to get this to run from the top leveldef parse_file(f, args,chain_cluster_size_dict
):file_id, ext = os.path.splitext(f)if ext == ".cif":with open(os.path.join(args.data_dir, f), "r") as fp:mmcif_string = fp.read()mmcif = parse(file_id=file_id, mmcif_string=mmcif_string)if mmcif.mmcif_object is None:logging.info(f"Could not parse {f}. Skipping...")return {}else:mmcif = mmcif.mmcif_objectout = {}for chain_id, seq in mmcif.chain_to_seqres.items():full_name = "_".join([file_id, chain_id])out[full_name] = {}local_data = out[full_name]local_data["release_date"] = mmcif.header["release_date"]local_data["seq"] = seqlocal_data["resolution"] = mmcif.header["resolution"]if chain_cluster_size_dict is not None:cluster_size = chain_cluster_size_dict.get(full_name.upper(), -1)local_data["cluster_size"] = cluster_sizeelif ext == ".pdb":with open(os.path.join(args.data_dir, f), "r") as fp:pdb_string = fp.read()protein_object = protein.from_pdb_string(pdb_string, None)aatype = pr
http://www.dtcms.com/a/134017.html

相关文章:

  • TDengine 与其他时序数据库对比:InfluxDB/TimescaleDB 选型指南(一)
  • AI智能体小结
  • 主流Embedding模型优劣势解析与技术选型指南(2025年4月)
  • npm和npx的作用和区别
  • 数据服务化 VS 数据中台:战略演进中的价值重构
  • 1×1卷积与GoogleNet
  • 天润融通AI Agent重塑零售连锁行业客户服务竞争力
  • 【行业树选择器组件:基于Vue3与Element Plus的高性能树形选择组件优化与重构】
  • 微服务1--服务架构
  • 计算机视觉算法实现——疲劳驾驶检测
  • Windows 下实现 PHP 多版本动态切换管理(适配 phpStudy)+ 一键切换工具源码分享
  • 基于JSP+MySQL实现用户注册登录及短信发送功能
  • Swift —— delegate 设计模式
  • 宝塔面板面试内容整理-Web服务器优化
  • Google最新《Prompt Engineering》白皮书全解析
  • 多线程、JUC——面试问题自我总结
  • 住宅代理是什么?2025详细指南
  • 基于前端技术的QR码API开发实战:从原理到部署
  • Handsontable 表格组件的使用
  • 自己总结的选型
  • WebSocket 技术详解
  • Flink Hive Catalog最佳实践
  • 从零实现富文本编辑器#2-基于MVC模式的编辑器架构设计
  • 大模型量化实战:GPTQ与AWQ量化方案对比与部署优化
  • 大数据学习(106)-hivesql函数
  • Maven相关名词及相关配置
  • Ubuntu卸载小皮面板
  • 记一次springboot集成海康威视SDK过程
  • 九、自动化函数02
  • sprintf函数