跳转到主要内容

Python绑定的蛋白质结构对齐代码TM-align

项目描述

TM-Tools

为张等开发的蛋白质结构比较算法TM-align的Python绑定和代码(由Zhang等开发)

安装

您可以直接从PyPI运行安装软件包的发布版本

    pip install tmtools

预构建的轮子在Linux、macOS和Windows上可用,适用于Python 3.6及以上版本。

要从头构建软件包,例如,如果您想为其做出贡献,请克隆此存储库,然后从存储库的根目录运行

    pip install -e . -v

这需要安装支持C++ 14的C++编译器。

使用方法

函数tmtools.tm_align接受两个包含残基坐标的NumPy数组(形状为(N, 3))和两个肽段代码序列,执行对齐,并返回最佳旋转矩阵和平移,以及TM得分

>>> import numpy as np
>>> from tmtools import tm_align
>>>
>>> coords1 = np.array(
...     [[1.2, 3.4, 1.5],
...      [4.0, 2.8, 3.7],
...      [1.2, 4.2, 4.3],
...      [0.0, 1.0, 2.0]])
>>> coords2 = np.array(
...     [[2.3, 7.4, 1.5],
...      [4.0, 2.9, -1.7],
...      [1.2, 4.2, 4.3]])
>>>
>>> seq1 = "AYLP"
>>> seq2 = "ARN"
>>>
>>> res = tm_align(coords1, coords2, seq1, seq2)
>>> res.t
array([ 2.94676159,  5.55265245, -1.75151383])
>>> res.u
array([[ 0.40393231,  0.04161396, -0.91384187],
       [-0.59535733,  0.77040999, -0.22807475],
       [ 0.69454181,  0.63618922,  0.33596866]])
>>> res.tm_norm_chain1
0.3105833326322145
>>> res.tm_norm_chain2
0.414111110176286
>>> res.rmsd
0.39002811082975875

如果您已经有一些PDB文件,您可以使用来自tmalign.io的函数来检索坐标和序列数据。这些函数依赖于BioPython,它默认未安装以保持依赖项轻量。要使用它们,您必须首先安装BioPythonpip install biopython)。然后运行

>>> from tmtools.io import get_structure, get_residue_data
>>> from tmtools.testing import get_pdb_path
>>> s = get_structure(get_pdb_path("2gtl"))
>>> s
<Structure id=2gtl>
>>> chain = next(s.get_chains())
>>> coords, seq = get_residue_data(chain)
>>> seq
'DCCSYEDRREIRHIWDDVWSSSFTDRRVAIVRAVFDDLFKHYPTSKALFERVKIDEPESGEFKSHLVRVANGLKLLINLLDDTLVLQSHLGHLADQHIQRKGVTKEYFRGIGEAFARVLPQVLSCFNVDAWNRCFHRLVARIAKDLP'
>>> coords.shape
(147, 3)

运行测试

测试套件使用了标准的Python unittest 框架。要运行测试套件,请运行以下命令(从存储库根目录,激活开发环境):

    python -m unittest discover -v .

在添加到测试套件时,请遵循 given/when/then 模式。您可以参考现有测试作为示例。

致谢

这个包源于个人想更好地理解TM-score算法和用于与C++代码接口的 pybind11 库的愿望。到目前为止,它不包含任何原创研究代码。

如果您使用此包进行研究,应引用原始的 TM-score论文

  • 张毅,斯科林克,用于自动评估蛋白质结构模板质量的评分函数,蛋白质,57: 702-710 (2004)。
  • 徐军,张毅,TM-score=0.5的蛋白质结构相似度有多重要?生物信息学,26,889-895 (2010)。

许可证

原始的TM-align软件(版本20210224,MIT许可下发布)包含在本存储库中(src/extern/TMalign.cpp)。为了在macOS上编译代码并将其作为库嵌入,需要进行一些小的调整。这些修改也以MIT许可证发布。

其余代码库以GPL v3许可证发布。

项目详情


下载文件

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

源代码分发

tmtools-0.2.0.tar.gz (3.1 MB 查看哈希值)

上传时间 源代码

构建分发

tmtools-0.2.0-cp312-cp312-win_amd64.whl (3.2 MB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

tmtools-0.2.0-cp312-cp312-win32.whl (3.2 MB 查看哈希值)

上传时间 CPython 3.12 Windows x86

tmtools-0.2.0-cp312-cp312-musllinux_1_1_x86_64.whl (3.8 MB 查看哈希值)

上传时间 CPython 3.12 musllinux: musl 1.1+ x86-64

tmtools-0.2.0-cp312-cp312-musllinux_1_1_i686.whl (3.9 MB 查看哈希值)

上传时间 CPython 3.12 musllinux: musl 1.1+ i686

tmtools-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64

tmtools-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (3.3 MB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ i686

tmtools-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (3.3 MB 查看哈希值)

上传时间 CPython 3.12 macOS 11.0+ ARM64

tmtools-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl (3.3 MB 查看哈希值)

上传时间 CPython 3.12 macOS 10.9+ x86-64

tmtools-0.2.0-cp311-cp311-win_amd64.whl (3.2 MB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

tmtools-0.2.0-cp311-cp311-win32.whl (3.2 MB 查看哈希值)

上传时间 CPython 3.11 Windows x86

tmtools-0.2.0-cp311-cp311-musllinux_1_1_x86_64.whl (3.8 MB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ x86-64

tmtools-0.2.0-cp311-cp311-musllinux_1_1_i686.whl (3.9 MB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ i686

tmtools-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ x86-64

tmtools-0.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (3.3 MB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ i686

tmtools-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (3.3 MB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

tmtools-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl (3.3 MB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

tmtools-0.2.0-cp310-cp310-win_amd64.whl (3.2 MB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

tmtools-0.2.0-cp310-cp310-win32.whl (3.2 MB 查看哈希值)

上传于 CPython 3.10 Windows x86

tmtools-0.2.0-cp310-cp310-musllinux_1_1_x86_64.whl (3.8 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ x86-64

tmtools-0.2.0-cp310-cp310-musllinux_1_1_i686.whl (3.9 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ i686

tmtools-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

tmtools-0.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (3.3 MB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686

tmtools-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (3.3 MB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

tmtools-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl (3.3 MB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

tmtools-0.2.0-cp39-cp39-win_amd64.whl (3.2 MB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

tmtools-0.2.0-cp39-cp39-win32.whl (3.2 MB 查看哈希值)

上传时间 CPython 3.9 Windows x86

tmtools-0.2.0-cp39-cp39-musllinux_1_1_x86_64.whl (3.8 MB 查看哈希值)

上传时间 CPython 3.9 musllinux: musl 1.1+ x86-64

tmtools-0.2.0-cp39-cp39-musllinux_1_1_i686.whl (3.9 MB 查看哈希值)

上传时间 CPython 3.9 musllinux: musl 1.1+ i686

tmtools-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ x86-64

tmtools-0.2.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (3.3 MB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ i686

tmtools-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (3.3 MB 查看哈希值)

上传时间 CPython 3.9 macOS 11.0+ ARM64

tmtools-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl (3.3 MB 查看哈希值)

上传时间 CPython 3.9 macOS 10.9+ x86-64

tmtools-0.2.0-cp38-cp38-win_amd64.whl (3.2 MB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

tmtools-0.2.0-cp38-cp38-win32.whl (3.2 MB 查看哈希值)

上传时间 CPython 3.8 Windows x86

tmtools-0.2.0-cp38-cp38-musllinux_1_1_x86_64.whl (3.8 MB 查看哈希值)

上传时间 CPython 3.8 musllinux: musl 1.1+ x86-64

tmtools-0.2.0-cp38-cp38-musllinux_1_1_i686.whl (3.9 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ i686

tmtools-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

tmtools-0.2.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (3.3 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686

tmtools-0.2.0-cp38-cp38-macosx_11_0_arm64.whl (3.3 MB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

tmtools-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl (3.3 MB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64