将foldseek代码转换为编码结构的NumPy端口。
项目描述
🚀 mini3di

将NumPy的foldseek
代码移植为编码结构的代码。
🗺️ 概述
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
类,该类期望每个肽段残基的 Cα、Cβ、N 和 C 原子的 3D 坐标。对于没有 Cβ(甘氨酸)的残基,只需将坐标写为 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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dfc4a63aaba175b05e9cc1f260e1bfcd2832ff3235537146a334b6a2179f8a96 |
|
MD5 | 456d8d9f692ddb0ae3e321acb800a6a2 |
|
BLAKE2b-256 | e4e4a478c514aef8759e5e55fb2bed4fd242f19a82ba7d780cc24dd7952b1d72 |
mini3di-0.2.1-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 304479e7e6c81065b616fb2b745a3e17c41e69d4f382ee83b57e7c3f4a401e85 |
|
MD5 | 2204abb5c302c2b739289093c53d11d2 |
|
BLAKE2b-256 | eea6a62382d676ab32faf6007935743676c4f97240d55e1829188fe7762a217c |