跳转到主要内容

Cython绑定和Python接口到JESS,一个3D模板匹配软件。

项目描述

🐍🔍 PyJess Stars

Cython绑定和Python接口到Jess,一个3D模板匹配软件。

Actions Coverage License PyPI Bioconda AUR Wheel Python Versions Python Implementations Source Mirror Issues Docs Changelog Downloads

🗺️ 概述

Jess是一种由Jonathan Barker等人提出的基于约束的结构模板匹配算法。[1]它可以用于从蛋白质结构中识别已知模板内的催化残基。Jess是Tess的进化,Tess是由Andrew Wallace等人开发的一种几何散列算法[2],它从原始算法中移除了一些预计算和结构要求。Ioannis Riziotis在他的博士期间进一步更新并维护了Jess,当时他在Thornton组

PyJess是一个Python模块,它使用Cython提供对Jess的绑定。它允许创建模板,用蛋白质结构查询它们,并使用Python API检索结果,而不执行任何外部I/O。

🔧 安装

PyJess适用于所有现代Python版本(3.6+)。

可以直接从PyPI安装,PyPI托管了一些预构建的x86-64 wheel文件,适用于Linux、MacOS和Windows,以及使用Cython编译源代码所需的代码。

$ pip install pyjess

请参阅文档的安装页面,了解在您的机器上安装PyJess的其他方法。

💡 示例

从不同的模板文件加载用作参考的模板

import glob
import pyjess

templates = []
for path in sorted(glob.iglob("vendor/jess/examples/template_*.qry")):
    templates.append(Template.load(path, id=os.path.basename(path)))

创建一个Jess实例,并使用它查询分子(一个PDB结构)与存储的模板

jess = Jess(templates)
mol = Molecule("vendor/jess/examples/test_pdbs/pdb1a0p.ent")
query = jess.query(mol, rmsd_threshold=2.0, distance_cutoff=3.0, max_dynamic_distance=3.0)

击中结果是迭代计算的,并且在请求时即时计算不同的输出统计信息

for hit in query:
    print(hit.molecule.id, hit.template.id, hit.rmsd, hit.log_evalue)
    for atom in hit.atoms():
        print(atom.name, atom.x, atom.y, atom.z)

🧶 线程安全

一旦创建了一个Jess实例,模板就不能再编辑了,这使得Jess.query方法是可重入的。这允许使用线程池并行查询多个分子与相同的模板

molecules = []
for path in glob.glob("vendor/jess/examples/test_pdbs/*.ent"):
    molecules.append(Molecule.load(path))

with multiprocessing.ThreadPool() as pool:
    hits = pool.map(jess.query, molecules)

⚠️ 在PyJess v0.2.1之前,Jess代码运行了一些线程不安全的操作,这些操作现在已经修复。如果在并行运行Jess,请确保使用v0.2.1或更高版本以使用带有重入函数的修复代码.

💭 反馈

⚠️ 问题跟踪器

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

🏗️ 贡献

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

📋 更新日志

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

⚖️ 许可证

此库根据MIT许可证提供。JESS代码也根据MIT许可证分发。

本项目与JESS作者无关、赞助或以其他方式支持。它是由Martin Larralde在他的博士项目期间在欧洲分子生物学实验室Zeller团队开发的。

📚 参考文献

  • [1] Barker, J. A. & Thornton, J. M. (2003). An algorithm for constraint-based structural template matching: application to 3D templates with statistical analysis. Bioinformatics (Oxford, England), 19(13), 1644–1649. doi:10.1093/bioinformatics/btg226.
  • [2] Wallace, A. C., Borkakoti, N., & Thornton, J. M. (1997). TESS: 一种用于从结构数据库中检索三维坐标模板的几何散列算法。应用于酶活性位点。蛋白质科学:蛋白质学会出版物,6(11),2308–2323. doi:10.1002/pro.5560061104.

项目详情


下载文件

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

源代码发行版

pyjess-0.3.1.tar.gz (214.1 kB 查看哈希值)

上传时间 源代码

构建分发版

pyjess-0.3.1-pp310-pypy310_pp73-win_amd64.whl (259.3 kB 查看哈希值)

上传时间 PyPy Windows x86-64

pyjess-0.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (284.8 kB 查看哈希值)

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

pyjess-0.3.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (268.1 kB 查看哈希值)

上传时间 PyPy macOS 10.12+ x86-64

pyjess-0.3.1-pp39-pypy39_pp73-win_amd64.whl (259.2 kB 查看哈希值)

上传时间 PyPy Windows x86-64

pyjess-0.3.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (284.6 kB 查看哈希值)

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

pyjess-0.3.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (267.9 kB 查看哈希值)

上传时间 PyPy macOS 10.12+ x86-64

pyjess-0.3.1-pp38-pypy38_pp73-win_amd64.whl (258.8 kB 查看哈希值)

上传时间 PyPy Windows x86-64

pyjess-0.3.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (286.5 kB 查看哈希值)

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

pyjess-0.3.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl (267.8 kB 查看哈希值)

上传时间 PyPy macOS 10.12+ x86-64

pyjess-0.3.1-pp37-pypy37_pp73-win_amd64.whl (258.7 kB 查看哈希值)

上传时间 PyPy Windows x86-64

pyjess-0.3.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287.1 kB 查看哈希值)

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

pyjess-0.3.1-pp37-pypy37_pp73-macosx_10_12_x86_64.whl (267.8 kB 查看哈希值)

上传时间 PyPy macOS 10.12+ x86-64

pyjess-0.3.1-cp312-cp312-win_amd64.whl (278.0 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

pyjess-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (917.0 kB 查看哈希值)

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

pyjess-0.3.1-cp312-cp312-macosx_10_12_x86_64.whl (304.4 kB 查看哈希值)

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

pyjess-0.3.1-cp311-cp311-win_amd64.whl (278.2 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

pyjess-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (913.8 kB 查看哈希值)

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

pyjess-0.3.1-cp311-cp311-macosx_10_12_x86_64.whl (304.5 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.12+ x86-64

pyjess-0.3.1-cp310-cp310-win_amd64.whl (278.2 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

pyjess-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (874.3 kB 查看哈希值)

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

pyjess-0.3.1-cp310-cp310-macosx_10_12_x86_64.whl (303.9 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.12+ x86-64

pyjess-0.3.1-cp39-cp39-win_amd64.whl (278.3 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

pyjess-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (872.9 kB 查看哈希值)

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

pyjess-0.3.1-cp39-cp39-macosx_10_12_x86_64.whl (303.9 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.12+ x86-64

pyjess-0.3.1-cp38-cp38-win_amd64.whl (278.4 kB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

pyjess-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (887.6 kB 查看哈希值)

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

pyjess-0.3.1-cp38-cp38-macosx_10_12_x86_64.whl (301.0 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.12+ x86-64

pyjess-0.3.1-cp37-cp37m-win_amd64.whl (276.4 kB 查看哈希值)

上传于 CPython 3.7m Windows x86-64

pyjess-0.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (823.1 kB 查看哈希值)

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

pyjess-0.3.1-cp37-cp37m-macosx_10_12_x86_64.whl (298.3 kB 查看哈希值)

上传于 CPython 3.7m macOS 10.12+ x86-64

pyjess-0.3.1-cp36-cp36m-win_amd64.whl (296.8 kB 查看哈希值)

上传于 CPython 3.6m Windows x86-64

pyjess-0.3.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (795.4 kB 查看哈希值)

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

pyjess-0.3.1-cp36-cp36m-macosx_10_12_x86_64.whl (296.6 kB 查看哈希值)

上传于 CPython 3.6m macOS 10.12+ x86-64

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面