电子商务网站建设作业12345浏览器网址大全
parsers
模块中的 Msa
、TemplateHit
和 HitMetadata
主要用于 解析比对数据,并为 AlphaFold3 提供 多序列比对(MSA)和模板搜索的中间数据结构。这些类在 MSA 处理 和 模板搜索 中扮演重要角色,帮助将解析后的数据标准化,并提供一致的接口给后续的 AlphaFold3 组件使用。
源代码:
DeletionMatrix = Sequence[Sequence[int]]@dataclasses.dataclass(frozen=True)
class Msa:"""Class representing a parsed MSA file"""sequences: Sequence[str]deletion_matrix: DeletionMatrixdescriptions: Optional[Sequence[str]]def __post_init__(self):if(not (len(self.sequences) == len(self.deletion_matrix) == len(self.descriptions))):raise ValueError("All fields for an MSA must have the same length")def __len__(self):return len(self.sequences)def truncate(self, max_seqs: int):return Msa(sequences=self.sequences[:max_seqs],deletion_matrix=self.deletion_matrix[:max_seqs],descriptions=self.descriptions[:max_seqs],)@dataclasses.dataclass(frozen=True)
class TemplateHit:"""Class representing a template hit."""index: intname: straligned_cols: intsum_probs: Optional[float]query: strhit_sequence: strindices_query: List[int]indices_hit: List[int]@dataclasses.dataclass(frozen=True)
class HitMetadata:pdb_id: strchain: strstart: intend: intlength: inttext: str