跳转到主要内容

将foldseek代码转换为编码结构的NumPy端口。

项目描述

🚀 mini3di Stars

NumPyfoldseek代码移植为编码结构的代码。

Actions Coverage License PyPI Bioconda Wheel Python Versions Python Implementations Source Mirror GitHub issues Docs Changelog Downloads

🗺️ 概述

foldseek 是由 van Kempen 等人开发的一种方法,用于快速准确地搜索蛋白质结构。为了在大规模上搜索蛋白质结构,它首先将 3D 结构编码为结构字母 3di 的序列,3di 可以捕捉三级氨基酸相互作用。

mini3di 是一个纯 Python 包,用于将蛋白质的 3D 结构编码为 3di 字母,使用从 foldseek VQ-VAE 模型训练得到的权重。

此库只依赖于 NumPy,并且适用于所有现代 Python 版本(3.7+)。

🔧 安装

可以直接从 PyPi 安装 mini3di 包,PyPi 提供了通用轮子,可以使用 pip 安装。

$ pip install mini3di

💡 示例

mini3di 提供了一个单独的 Encoder 类,该类期望每个肽段残基的 NC 原子的 3D 坐标。对于没有 (甘氨酸)的残基,只需将坐标写为 math.nan。调用 encode_atoms 方法以获得 3di 状态的序列。

from math import nan
import mini3di

encoder = mini3di.Encoder()
states = encoder.encode_atoms(
    ca=[[32.9, 51.9, 28.8], [35.0, 51.9, 26.6], ...],
    cb=[[ nan,  nan,  nan], [35.3, 53.3, 26.4], ...],
    n=[ [32.1, 51.2, 29.8], [35.3, 51.5, 28.1], ...],
    c=[ [34.4, 51.7, 29.1], [36.1, 51.1, 25.8], ...],
)

作为输出的状态将是一个状态索引的 NumPy 数组。要将其转换为序列,请使用编码器的 build_sequence 方法。

sequence = encoder.build_sequence(states)
print(sequence)

如果可用 Biopython,编码器可以直接与 Biopython 对象一起工作。一个辅助方法 encode_chain 用于从 Bio.PDB.Chain 中提取原子坐标并直接编码。例如,要编码 PDB 文件 中的所有链

import pathlib

import mini3di
from Bio.PDB import PDBParser

encoder = mini3di.Encoder()
parser = PDBParser(QUIET=True)
struct = parser.get_structure("8crb", pathlib.Path("tests", "data", "8crb.pdb"))

for chain in struct.get_chains():
    states = encoder.encode_chain(chain)
    sequence = encoder.build_sequence(states)
    print(chain.get_id(), sequence)

💭 反馈

⚠️ 问题跟踪器

发现了一个错误?有增强请求吗?如果您需要报告或询问某些内容,请访问 GitHub 问题跟踪器。如果您正在提交错误报告,请尽可能提供关于问题的信息,并尝试在简单、易于复制的环境中重现相同的错误。

🏗️ 贡献

欢迎贡献!有关详细信息,请参阅 CONTRIBUTING.md

📋 更新日志

本项目遵循 语义版本控制 并提供 更新日志,格式遵循 Keep a Changelog

⚖️ 许可证

此库在 BSD 3-clause 许可证 下提供。它包含一些从 foldseek 转移的代码,该代码在 GNU 通用公共许可证 v3.0 下授权,并在作者许可下重新授权。

本项目与原始的 foldseek 作者 没有任何关联、赞助或任何形式的认可。它是在 Martin Larralde欧洲分子生物学实验室Zeller 团队 的博士项目中开发的。

📚 参考文献

  • [1] Kempen, Michel van, Stephanie S. Kim, Charlotte Tumescheit, Milot Mirdita, Jeongjae Lee, Cameron L. M. Gilchrist, Johannes Söding, and Martin Steinegger. ‘Fast and Accurate Protein Structure Search with Foldseek’. Nature Biotechnology, 8 May 2023, 1–4. doi:10.1038/s41587-023-01773-0.

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

mini3di-0.2.1.tar.gz (18.6 kB 查看哈希值)

上传时间 源代码

构建分发

mini3di-0.2.1-py2.py3-none-any.whl (14.2 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持