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

AF3 MmcifObject类解读

AlphaFold3 中 MmcifObject类 是 解析 mmCIF 文件的核心数据结构,用于存储解析后的蛋白质结构信息,包含PDB 头部信息、Biopython 解析的结构、链序列信息等。

下面代码包含 Monomer 、AtomSite、ResiduePosition、ResidueAtPosition、 MmcifObject以及ParsingResult数据类的定义。

源代码:

# Type aliases:
ChainId = str
PdbHeader = Mapping[str, Any]
PdbStructure = PDB.Structure.Structure
SeqRes = str
MmCIFDict = Mapping[str, Sequence[str]]


@dataclasses.dataclass(frozen=True)
class Monomer:
    id: str
    num: int


# Note - mmCIF format provides no guarantees on the type of author-assigned
# sequence numbers. They need not be integers.
@dataclasses.dataclass(frozen=True)
class AtomSite:
    residue_name: str
    author_chain_id: str
    mmcif_chain_id: str
    author_seq_num: str
    mmcif_seq_num: int
    insertion_code: str
    hetatm_atom: str
    model_num: int


# Used to map SEQRES index to a residue in the structure.
@dataclasses.dataclass(frozen=True)
class ResiduePosition:
    chain_id: str
    residue_number: int
    insertion_code: str


@dataclasses.dataclass(frozen=True)
class ResidueAtPosition:
    position: Optional[ResiduePosition]
    name: str
    is_missing: bool
    hetflag: str


@dataclasses.dataclass(frozen=True)
class MmcifObject:
    """Representation of a parsed mmCIF file.

    Contains:
      file_id: A meaningful name, e.g. a pdb_id. Should be unique amongst all
        files being processed.
      header: Biopython header.
      structure: Biopython structure.
      chain_to_seqres: Dict mapping chain_id to 1 letter amino acid sequence. E.g.
        {'A': 'ABCDEFG'}
      seqres_to_structure: Dict; for each chain_id contains a mapping between
        SEQRES index and a ResidueAtPosition. e.g. {'A': {0: ResidueAtPosition,
                                                          1: ResidueAtPosition,
                                                          ...}}
      raw_string: The raw string used to construct the MmcifObject.
    """

    file_id: str
    header: PdbHeader
    structure: PdbStructure
    chain_to_seqres: Mapping[ChainId, SeqRes]
    seqres_to_structure: Mapping[ChainId, Mapping[int, ResidueAtPosition]]
    raw_string: Any


@dataclasses.dataclass(frozen=True)
class ParsingResult:
    """Returned by the parse function.

    Contains:
      mmcif_object: A MmcifObject, may be None if no chain could be successfully
        parsed.
      errors: A dict mapping (file_id, chain_id) to any exception generated.
    """

    mmcif_object: Optional[MmcifObject]
    errors: Mapping[Tuple[str, str], Any]

代码解读:

类型别名 (Type Aliases)

类型别名是对复杂类型的简写,方便代码的可读性和维护。

ChainId = str  
PdbHeader = Mapping[str, Any]  
PdbStructure = PDB.Structure.Structure  
SeqRes = str  
MmCIFDict = Mapping[str, Sequence[str]]  
  • ChainId = str
    • 表示蛋白质链的 ID,例如 "A""B"
  • PdbHeader = Mapping[str, Any]

http://www.kler.cn/a/549053.html

相关文章:

  • 故地重游:一眼是曾经,一眼是如今
  • spring boot 对接aws 的S3 服务,实现上传和查询
  • 【Black Mesa】黑山起源用服务器开服多人联机教程
  • DOS命令 setx 用法
  • linux常用命令大全(包括抓包、网络检测、路由等,做项目一点点总结而来!)
  • 静默安装OGG for MySQL微服务版本,高效开展数据同步和迁移
  • matlab基于梯度下降和软阈值化的去噪算法
  • Kubernetes-master 组件
  • 多媒体软件安全与授权新范例,用 CodeMeter 实现安全、高效的软件许可管理
  • 鸿蒙项目用的router如何迁移至Navgation
  • 基于SpringBoot+Vue的智慧校园管理系统设计和实现(源码+文档+部署讲解)
  • 几款dxf文件转Gcode的开源软件
  • K8S下载离线安装包所需文件
  • HTML4
  • 权谋场景人物引入
  • 架构——Nginx功能、职责、原理、配置示例、应用场景
  • 条件变量和信号量的区别
  • Cursor笔记
  • 七、Java常用API(2)
  • 使用 DeepSeek 生成商城流程图