Cython绑定和Python接口到JESS,一个3D模板匹配软件。
项目描述
🐍🔍 PyJess 
Cython绑定和Python接口到Jess,一个3D模板匹配软件。
🗺️ 概述
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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 35a4dd5b57240df1b550ede3d3f1b5433c12abb02cc513807dd06813dbff303e |
|
MD5 | 6110adf2ecc6ea450cb7d23162056841 |
|
BLAKE2b-256 | bb3a718636ed97539d9bdd874967fed2e5a0a683f06e3042c649812925feffe3 |
pyjess-0.3.1-pp310-pypy310_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3bb9c69ddd3c394dce3957f2fd7f23c7c785a2f3dbf319209f2fe4912b39d818 |
|
MD5 | 47177fa96235e2ef3dbd56ce642771a4 |
|
BLAKE2b-256 | 3fc5b2024d231903060a304e467c557ca69dc6aeb848cb569b6bdcc637477bdf |
pyjess-0.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | adc38be4e2ce2de4ccfa6df94bb99118ad918675f5e6e4abe98122ea1285fa72 |
|
MD5 | 3a59d7a10bde11d6da865b8f941a332f |
|
BLAKE2b-256 | d853310add12d8920d9c468f0a663d5d57a113f7b1fd9739410869ddc48955c7 |
pyjess-0.3.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7c0f20b037763acada13fd9b820e61e4bb3dcd98bacbb2563c6266c02acea419 |
|
MD5 | c9f86a7d910e1d197495e100cbc23814 |
|
BLAKE2b-256 | f17d4f9a78c840d84c1947fd36ca94521d603a579e61e821a2f2b01f6e7d45df |
pyjess-0.3.1-pp39-pypy39_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 84ec3ca9287fd5bf689756c6f31e305f0ea4194b730a5c83c26f4ac4d83c7dea |
|
MD5 | 1787d12d070ad9a0105d699c8711d101 |
|
BLAKE2b-256 | 0afd8e270d139faa93e674cbeeddaf7c0aeea9f1bc371e4ce0f53fe08678134c |
pyjess-0.3.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 19eb02484e21f64c76c5e854e3fb0adea57ad523737216aff0bb74eacac49ced |
|
MD5 | b7a1407c1818f823a842a78a65a9d54d |
|
BLAKE2b-256 | dd74c787297dc64ea98b5505cfea7ce4fd650cf4903758acbefdd2510efb4316 |
哈希值用于pyjess-0.3.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 64641a075732160278a696611a070fc789e0e55fa32f316cf7c0098bae61026e |
|
MD5 | b92c42551f23ddea9bc13f82b3e33087 |
|
BLAKE2b-256 | 7eb4c12ef192fa0c9104f31738367d27c6d521142a3593bb120bf5d59bf92f36 |
哈希值用于pyjess-0.3.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cc2666197b848a1e6a78d6cdcd4a209c1ce8f75dc33e1dd82d85b64a3ad86e33 |
|
MD5 | bc01d9c3b19d41ddc6bdfbae63f38daa |
|
BLAKE2b-256 | 73b66d09299a2c238b94f6de67e8f419f3e0ec1271c070fe41ecb5cdbee89cf5 |
哈希值用于pyjess-0.3.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bb41f02641477d7732b64e07faa4740ad291f2d787560450deb58b43642d98e1 |
|
MD5 | 47cc7c894b9857a249e07a324e0ffce3 |
|
BLAKE2b-256 | 01b3f2c8ef98b7b6e14a1e8cf63bf0d7e567fb7b943128ae57a06034366c8d8f |
哈希值用于pyjess-0.3.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2c463aae9a3b0fab30844eda018f9fd2c6aee8c7e327e1aa11c17ef27e1364ff |
|
MD5 | be9841e7f96a73b88a2a46ab6153726a |
|
BLAKE2b-256 | 14222f133aca5e4856c8aca509ad0513b900a68482a801bbb83e1f12b4deaf3f |
哈希值用于pyjess-0.3.1-pp37-pypy37_pp73-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bbf07fc841a74898accf5f397240ed798d8e492cc623ccf7e111e0e59ed8ebc0 |
|
MD5 | 59bb05dc93dedac3873738ccb0ee1ce3 |
|
BLAKE2b-256 | 1fa4a1af1d366cd6e278e24659740c8abfaf74a5f4b624cfb1769a59d2d55e6f |
哈希值用于pyjess-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 173fbea1384e6e61c1bc070541348cc533d18bfd7ea7a5177549d47b28f8fe1f |
|
MD5 | 5ff9a2d4bd9be1b258c34ce10f9f36eb |
|
BLAKE2b-256 | a21821ada70247c4b028a429ed079694b7329d1ec9997bbeb1c0e3e78d55b4dc |
哈希值用于pyjess-0.3.1-cp312-cp312-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e30ec8d57377987a333aee618afc2c880ff294484c153941a1d7405476843f41 |
|
MD5 | 939652598bed5ebf8813d5359d8721c2 |
|
BLAKE2b-256 | cab8ebdf648da65a70b175c6ef058f5ed0d0e83b4898b11a1b42151b41884f82 |
哈希值用于pyjess-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e446d50f7ddb77a7772681f2f7ef2b82eb1bb4905e4057d8f25a66f4b9aa6585 |
|
MD5 | 1278fabb0a00dbc7eeb01f2acb254e15 |
|
BLAKE2b-256 | 3b8cb5dc66cb0d38ce9517adc7da8476531c699b2355e6a155b3367b98260a6d |
哈希值用于pyjess-0.3.1-cp311-cp311-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ea93ce40c3ee85938b547b65686ff9e3939ff2923f8796e5dcf706ddad7a393a |
|
MD5 | e61a280c51a5c5b0c1058cd7106fdac3 |
|
BLAKE2b-256 | b4e371d15df582c66cdb1944d6948580423a70374b0712f5efb6c757dfe6fecc |
哈希值 用于 pyjess-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d1e61821b49712e66ced8c204260846c447a5f460d4f70c4136b4dd93df72bf5 |
|
MD5 | 7bea6b23fbfe4294f228dc8283f7b237 |
|
BLAKE2b-256 | feeda09e83d03e68c6f45b2503b52dbac798c24bc74b829c0da11a935b1f77e2 |
哈希值 用于 pyjess-0.3.1-cp310-cp310-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6519990ae6b5f74e898baecadd688c840fd7e33c404c044ad7b4202ec238a601 |
|
MD5 | 2a744b19dc86ee54a955b580920c3aef |
|
BLAKE2b-256 | 038219a4ad10f899ef0c7327a379e8e5454698b52de8ae7b97516d197c5f3183 |
哈希值 用于 pyjess-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9a91248484633bfa19acd3162355c1d22c3d92b4a1b922ba9248204185faea6a |
|
MD5 | 8563e453ed0bbe80b67c856dca30a119 |
|
BLAKE2b-256 | d147108cc08475e29df23ebd144634118e3f0966cf359d284ef162952d30e8e5 |
哈希值 用于 pyjess-0.3.1-cp39-cp39-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3d19b412230693fdb9eb0fee31ac1465cef2cc83119090444a4b14029ecf5b0a |
|
MD5 | cefdf7d041cf9e54142ac96214a4f82a |
|
BLAKE2b-256 | 5cb9fb5d3feb9fc38a4e5630e7e77b4c9939b6368027c3bfc60a58f8a14eac1d |
哈希值 用于 pyjess-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bc092ad5ae7103351e32ed94c5a8548cf0b010c81e310153c1a18b33532aa854 |
|
MD5 | ef89c7f3ceabd3af224251fc2386ee29 |
|
BLAKE2b-256 | 1c817c9e4f559378dc7f9e2391c3069c8de527fd99430df4fafe1977d817ac79 |
哈希值 用于 pyjess-0.3.1-cp38-cp38-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7d4735b8d7f401a690e9270e000f79b7ad38ca2f2d306924f5900f7a7adffd3a |
|
MD5 | 73e6ac8059ee5bd478670b0780b0a84e |
|
BLAKE2b-256 | e70963bb5883f24b3d8c5e828e4273721cd99225c7a1de03bea2a7fcf6225763 |
哈希值 用于 pyjess-0.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 69d482d2603277ddab3b44a378edb9b10527464c8ed9238d7c3946245d7a9b17 |
|
MD5 | 31a560765e56d1291288acebb38edab7 |
|
BLAKE2b-256 | ab4de5d7d469b85c91c71c3580ee9c7a40459d2021e3f87d50b3c76f7c4e5246 |
哈希值 用于 pyjess-0.3.1-cp37-cp37m-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9f6c0658debcdd8d94c4d4c4e17a9fd8ede66371d9e095482addb486c393b4c7 |
|
MD5 | 092c663da00d752d3822ff84c22d46fe |
|
BLAKE2b-256 | 20a822337435919dc3fb64c51385fa54844c63debbee862cfcd4d390f8dac2df |
哈希值 用于 pyjess-0.3.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5cab90a35e0c5b6fda27373088562adfe23e9cfbeddaf58be672ea7e966dd35c |
|
MD5 | b3e09e611d1f2a77da5477278d8e9fc0 |
|
BLAKE2b-256 | 794970d6da483b94d336fa2feea7b45ebb4a86dc3aecb14cbe9c2a85740e2a48 |
哈希值 用于 pyjess-0.3.1-cp36-cp36m-macosx_10_12_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0b1814fbee0e60501cfb17f4eb9f24355d4c4a4c3cadc3bdf6e7c5d58d3acb08 |
|
MD5 | e33b2233006c0c1e1d23388bdd892876 |
|
BLAKE2b-256 | 36b178fa1abf1cb505f4f290f2782074eecc7fd85fdc48b85289b56e728611e9 |