PyO3绑定和Python接口,用于使用稀疏链计算快速基因组身份的方法skani。
项目描述
🐍⛓️🧬 PySkani 
PyO3绑定和Python接口到skani,一种使用稀疏链进行快速基因组身份计算的方法。
🗺️ 概览
skani
是由 Jim Shaw 和 Yun William Yu 开发的一种方法,通过稀疏链式连接快速而稳健地进行宏基因组序列比较。它在准确性方面优于 FastANI,同时速度更快,且内存占用更少。
pyskani
是一个 Python 模块,使用 PyO3 框架实现,为 skani
提供绑定。它直接链接到 skani
代码,与 CLI 包装器相比有以下优点:
- 预构建轮子:
pyskani
在 PyPI 上发布,包括 x86-64 和 Arm64 UNIX 等常见平台预构建轮子。 - 单一依赖项:如果您将软件或分析流程作为 Python 包分发,可以将
pyskani
作为依赖项添加到项目中,从而无需担心最终用户机器上是否有skani
二进制文件。 - 无 I/O:所有操作都在内存中进行,在您控制的 Python 对象中,这使得在不将序列写入临时文件的情况下传递到
skani
更加容易。
这个库仍在开发中,处于实验阶段,但它已经包含了足够的功能,可以在标准流程中使用。
🔧 安装
Pyskani 可以直接从 PyPI 安装,它托管了一些预构建的 CPython 轮子,适用于 x86-64 Unix 平台,以及用于使用 Rust 编译源代码的代码。
$ pip install pyskani
如果您必须从源代码编译此包,所有必需的 Rust 库都已包含在源代码发行版中,如果主机机器上没有 Rust 编译器,则会自动设置。
💡 示例
📝 创建数据库
数据库可以存储在内存中或使用机器文件系统上的文件夹来存储草图。无论存储方式如何,数据库都可以立即用于查询或保存到不同的位置。
以下是如何使用 Biopython 加载记录来在内存中创建数据库的示例
database = pyskani.Database()
record = Bio.SeqIO.read("vendor/skani/test_files/e.coli-EC590.fasta", "fasta")
database.sketch("E. coli EC590", bytes(record.seq))
对于草图基因组,只需向 sketch
方法传递更多参数,可以使用展开运算符。
database = pyskani.Database()
records = Bio.SeqIO.parse("vendor/skani/test_files/e.coli-o157.fasta", "fasta")
sequences = (bytes(record.seq) for record in records)
database.sketch("E. coli O157", *sequences)
🗒️ 加载数据库
要加载数据库,无论是使用 skani
还是 pyskani
创建的,您可以加载所有草图到内存中,以便快速查询。
database = pyskani.Database.load("path/to/sketches")
或者懒加载文件以节省内存,但查询速度会变慢。
database = pyskani.Database.open("path/to/sketches")
🔎 查询数据库
一旦创建或加载了数据库,使用 Database.query
方法计算一些查询基因组的 ANI。
record = Bio.SeqIO.read("vendor/skani/test_files/e.coli-K12.fasta", "fasta")
hits = database.query("E. coli K12", bytes(record.seq))
🔎 相关内容
计算封闭基因组的 ANI?您可能还对使用 pyfastani
,一个用于计算 ANI 的 Python 包,感兴趣,它使用了 FastANI 方法,该方法由 Chirag Jain 等人开发。
💭 反馈
⚠️ 问题跟踪器
发现了一个错误?有一个增强请求?如果您需要报告或询问一些内容,请访问 GitHub 问题跟踪器。如果您正在报告错误,请尽可能多地提供有关问题的信息,并尝试在简单且易于复制的环境中重现相同的错误。
🏗️ 贡献
欢迎贡献!有关详细信息,请参阅 CONTRIBUTING.md
。
⚖️ 许可证
此库根据 MIT 许可证 提供。
《skani》代码由Jim Shaw编写,并按照MIT许可证分发。更多信息请参阅vendor/skani/LICENSE
。使用cargo vendor
命令,pyskani
供应商在其自身条款下添加了额外的源。
该项目与原始的skani
作者没有任何关联、赞助或其他形式的认可。该项目由Martin Larralde在欧洲分子生物学实验室的Zeller团队的博士项目期间开发。
项目详情
pyskani-0.1.2.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f40880a32583699d80657182807fdae74d6a6b2881912148c1e6da0f41ccc38b |
|
MD5 | 1f63549a823556563fb2e4e983d9156b |
|
BLAKE2b-256 | 43f60d017193e0c7d935d3cc88ea6e0348ece012d2b645bbc5e8037808e069b4 |
pyskani-0.1.2-pp310-pypy310_pp73-win_amd64.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a94f191fa8bec7aa524a269bf67fe982242bb33c62499a8c40e5e57ad6a5d13f |
|
MD5 | fd3a38496ab584e32cb71c43cb95706e |
|
BLAKE2b-256 | 18471dd8a6ce82382ca6e02d2a8e3730e9cdd7e4613f38dc203e0f3c62d3e84c |
pyskani-0.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 650f85731fbd567a6bb2a7dd10ebe160f3437614896ddc2d1066699bde4b3fbc |
|
MD5 | dd45578502ac6960df580da5ada20f7a |
|
BLAKE2b-256 | 93e60c3a84f36133596e332105755474e93d624c732bfe0cd8afb802ffa28d76 |
哈希值 for pyskani-0.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ab5dbba23b61deaaf2fcfa660ca09736273b7bbc82758365ca13c7421c8a8e8d |
|
MD5 | 9b211290f55de2aff0de7682281299a3 |
|
BLAKE2b-256 | f472874dcadd23d055492fdd867e010cf2638c58a6fb3909442df570a3b2b6ec |
哈希值 for pyskani-0.1.2-pp310-pypy310_pp73-macosx_12_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 63528f124020daa436420df9db2738b7a38592d2460c87adb92b58f1ab398d47 |
|
MD5 | 95d88c0575ed211726d9940ee02d5885 |
|
BLAKE2b-256 | 1af82f3e79f953924a955af711344c656bd395aab00fad56ebbdbb4e393423e6 |
哈希值 for pyskani-0.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d90a3b9cadb409604020cb4a10e3cc6a842366d3008f355bc81f33c6855328a2 |
|
MD5 | 3da907166e98b1545293576b00d597c1 |
|
BLAKE2b-256 | aa2fc383f4dc15174d2fd2e891259e893dccc92336f6c04ffcb7a50084b14d98 |
哈希值 for pyskani-0.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 11d75a4bfde6c6800130a5c77c2d94a003fc5cf5281ef084d1814af6b6ecc93e |
|
MD5 | 2587586115332dcd294d82859b270be4 |
|
BLAKE2b-256 | cc78e8aa670e1f50e0ee768955427862d89cb0f3b9f70dba423e24efa0b247d1 |
哈希值 for pyskani-0.1.2-pp39-pypy39_pp73-macosx_12_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1fb526588583e5ca6a613969970fd5e55de3693af2aba37ff41e6d07ce8e3b59 |
|
MD5 | fa5a2a7c131fde4ed9ff23f8bd464210 |
|
BLAKE2b-256 | f8cf7ca462b745ff98f29a5117a04b64c7db1269d0fe700c6ac5905b41729a0b |
哈希值 for pyskani-0.1.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a599389b7d0102a1744b3f3871133d3a79cd9a5623d2b1d8ec1e312b96c003e7 |
|
MD5 | 977fb5e58f65167162ab07cae06976fd |
|
BLAKE2b-256 | 02b78e39ac888a2083a2295cb16c1a7195b6156bb5ad50df7963b31d4dad5d20 |
哈希值 for pyskani-0.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d079790ab279eac627593983dbbf51444a4f3febfd7fe086277d7216bb7a8d7a |
|
MD5 | e89132f593a61bfe7a3f0249e4625e77 |
|
BLAKE2b-256 | 6f3fb73a0cc5c7fd11fd5bf9a022fb2c2b968f9d12301dd72d39b8cf0ebc8418 |
哈希值 for pyskani-0.1.2-pp38-pypy38_pp73-macosx_12_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a9c40677957689aab0758ee0da9a1d7a01416a5e1e5239bd16fcaf066c9d029f |
|
MD5 | 7522428b22db62a12ca35703b1e123ca |
|
BLAKE2b-256 | 19233470079426a2e755b327ea3a4ad0490fadc5f6e54f60d25afd32e2c81a53 |
哈希值 for pyskani-0.1.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b940d259de2241edb0372f93b4a4c52024ea3c6575882c971bdc43b3460e0eba |
|
MD5 | 599fe2900adb2d8a811bb1d344bf6487 |
|
BLAKE2b-256 | 1ed30d52dd8ff966f11d7a9b11810c26c30183023ea7e97c6bc065bb3a5171ba |
哈希值 用于 pyskani-0.1.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4684d427e6234ba64fedc8a7100f119b3905780fc1d9908d29b453b1275da822 |
|
MD5 | e697f523fea9b717c09585f758623bf1 |
|
BLAKE2b-256 | 26f9a0544590f82f7b466649d12b42624cbc1777e13c691025055b6ed21996fc |
哈希值 用于 pyskani-0.1.2-pp37-pypy37_pp73-macosx_12_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c490dc30ec77bcbb9a03b9efcd67506e6b7ee0ba4b30c918a41ee0e3e1a03331 |
|
MD5 | 775e8e0b4ddd326550ad410df77a2736 |
|
BLAKE2b-256 | 8b1f2d62c2ce1d15c2ece34d1bcdb0b1041518d4051a3fb8adc4fe10348d520c |
哈希值 用于 pyskani-0.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8e3fb530fbe64339cf875a0e8081f2b51c9c455f55f3773a285554fdbaed7ef0 |
|
MD5 | 14707a8d470bb7d0b716eb9780fe0a42 |
|
BLAKE2b-256 | 8ce6a42472ff9a05b435ac71693687e9e3697fcc4a16c386988e253e3902b8bb |
哈希值 用于 pyskani-0.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2ea41872f415bd54d21b5d2cbb75c012ba9ec4233d94e593baa68d09e42c6166 |
|
MD5 | 502715772a1be97497e04851f6246609 |
|
BLAKE2b-256 | 2bfcdf90081586ecfd6af578b27b6040a1204ae11a54f6e60d09419da57e64e3 |
哈希值 用于 pyskani-0.1.2-cp312-cp312-macosx_12_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9f592b763367747fe2850fa4d6a462552d730fa6ee89ce1b6f9bf7d101e10565 |
|
MD5 | 8150d7a1c2b457471fa805c7a2762b91 |
|
BLAKE2b-256 | b9e6ec811522dafb7b8872592b7bb0c81110fee0196862b30808dcdff93ff0a5 |
哈希值 用于 pyskani-0.1.2-cp312-cp312-macosx_12_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | caadd3f36d81c95f43161dc64422698de744c71593ddeb27fb054cd0342f86df |
|
MD5 | 0cc683d5bd74eded09654b053345a0c9 |
|
BLAKE2b-256 | 6fa7eab1554c64175e5415d28bcd75496c6232a097454f58db67b1c5bd50b595 |
哈希值 用于 pyskani-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ad996762766c09c5537671f7e5898d534a720966bc4d2dd5d7ce17c36eb7562c |
|
MD5 | 4a421e1f4d643e6585eebecf2d57a290 |
|
BLAKE2b-256 | c09e1c7f9d06528160100aabd8e5a8fb54acb8ec9c32ec5f8ff2ddec48df9a0d |
哈希值 用于 pyskani-0.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f99bdaca28f0df000eb80eb59f89e0ccdb7606c2480d5797b737c623df933d96 |
|
MD5 | aaedff51c4b3f8cb90ccdf1179cb5614 |
|
BLAKE2b-256 | a79d2d6653a5f3367b758c93d7c47eca582e5640e64de6f43c78dd9bb1893af9 |
哈希值 用于 pyskani-0.1.2-cp311-cp311-macosx_12_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b38c877c86455536a782990a4cf2b3c9418d67392489fb795db34facf5fd3a28 |
|
MD5 | c4c9b641369c42a34e2423dc5332dff9 |
|
BLAKE2b-256 | 2f62a27d49597b40debeb9780d29bbd27a543448a1f2dd7a2b3ceaf14466bc67 |
哈希值 用于 pyskani-0.1.2-cp311-cp311-macosx_12_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 594405b856a2a4f5d8aefeec25e09615eea90cd784ecd8d12cabace7eff6f482 |
|
MD5 | c3e149ac3d418672a3e7ea84ac2420a7 |
|
BLAKE2b-256 | da85e499615ee0ccae7f580e46bdc72aa04db9097d425e63ff4500cea9127d8c |
哈希值用于pyskani-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f207957787037b0a8ad372bee611b635a0ba4d31781567a3fd6c6830f35d3003 |
|
MD5 | 8f32aac2b17a87e8c8fe556e986162c3 |
|
BLAKE2b-256 | e08599d02242aa5850e76d586df3d481c2c3db51e99be94ca474e8c494c7d553 |
哈希值用于pyskani-0.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1a02ec57e23e38238036e550ca02d89f081d3de0886db3bfeadc3c9a308c28c1 |
|
MD5 | 09ba519881974b11da08692ecc632da2 |
|
BLAKE2b-256 | 0fadd1b1734b092816e761a4dcf3bb2383d9986cc88aa764e0a8db12ca98f8e8 |
哈希值用于pyskani-0.1.2-cp310-cp310-macosx_12_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2d13f5cb106555c3bee67a14f8667edf56d23daa0b0299a097e057e90b8408c6 |
|
MD5 | 99e58b3dc3d3fab2570bac649f91d59e |
|
BLAKE2b-256 | 6adaeab335af5e9e7f79e2a0d91bb71251a1504314d357d76843cbf4d59b0859 |
哈希值用于pyskani-0.1.2-cp310-cp310-macosx_12_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8abf682784251c4a9908d31160871e3fdb38cf4da292885526283d3e77279ada |
|
MD5 | 8644c110ef3b3fef10158ee311391942 |
|
BLAKE2b-256 | 1eae786a14e53d5a1f80babd07e3fce24ba75784eb25f1101f53fbe826ea1a4f |
哈希值用于pyskani-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 68e79877c5fa8d843073b6f196eb7c8112ac1cfd8ea65313baca0b203c52f13a |
|
MD5 | 69fcb4a953a03b902177cd66aeb2d314 |
|
BLAKE2b-256 | 9c9dd4e5150159f314e2c5ee23abafb9d115008734e074a0da20240c95d7da55 |
哈希值用于pyskani-0.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1c6239d00c605d1d64a41d0681433db2e2a193d98c2836a6397cd7788f171d5f |
|
MD5 | 04b4cac3f57725cee02b034140c8c71b |
|
BLAKE2b-256 | 76bc7cd865db0453cdde35781ea29419782618b1d39797c887795f74c035eac1 |
哈希值用于pyskani-0.1.2-cp39-cp39-macosx_12_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 875e238f01cd7a14b542ca8e6fd03b18fbe621bb3d6f4c8fd0cfa5dac7a342e4 |
|
MD5 | 13ce862419a30cd11c2ede813a27d57c |
|
BLAKE2b-256 | 454efeda4bca44f536ffb315dfc4a7bd7a52d82f4a0c29eaa2dc7364c17584e4 |
哈希值用于pyskani-0.1.2-cp39-cp39-macosx_12_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c0f468b5104ac036b85c22ac49eb4f67e8ede6c503cd3313e7a4c0e9b4b8a62a |
|
MD5 | 567460791626b30888cf31f402ed1f6e |
|
BLAKE2b-256 | 5f8ba389dcd3b72a0aeb21cc8623735ff3e522516e55083b33fa6e5786dcbece |
哈希值用于pyskani-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5d40fc6d6c035b96d3a51f01cffe468cec75064c29c6aab5be7b40c9625f6aa6 |
|
MD5 | e6574c426002e4e8a3225c3fa445a80a |
|
BLAKE2b-256 | 4f452840c9b03e1ca4495af6d65331759a32b76ffef404a3af9a810c9287d5d9 |
哈希值用于pyskani-0.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d6ba2a7c79ff72fe2060bde9097090b95345a11c4239accb7893ce1d095764c6 |
|
MD5 | 84f8604ce72034f427d51c4c34979047 |
|
BLAKE2b-256 | f01fbbbdd37b5fdc5ff52d15c6680ab30085b9436b75858f14cc32e4eb462f75 |
哈希值用于pyskani-0.1.2-cp38-cp38-macosx_12_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b8918f7b47e0999032d363c817eee000ba90541aed12f1ad2fd5af0b6f5ac5ab |
|
MD5 | b092af33b8660898af8d9b050fc90ecf |
|
BLAKE2b-256 | e75697e0b349c993dab48188143a283511c82456ded0fb70bbffeae6d598f10d |
哈希值 for pyskani-0.1.2-cp38-cp38-macosx_12_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7e58fbfa25032c63c7f41c962aa21698b6b8e07714ea95fa2d9fd2498ebdf886 |
|
MD5 | 99b1218dc8cc69be155938c45453953d |
|
BLAKE2b-256 | fb26db2575d8bc6c28d9ec944c875a0e36cf0cb3fc75f4acf55a06dde8dfdd52 |
哈希值 for pyskani-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e2df9c51f337cb29ed451cc20ff23115af133ce3bfcb5c8f06544979e188d3ea |
|
MD5 | ad769dbd4fc32813871d65aecaeb484c |
|
BLAKE2b-256 | 69379cfa0bd7a023ee19a25bec3cb7a660da7f41f7fd3cf4d63068f8c6140315 |
哈希值 for pyskani-0.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 50023741d4ab74d2d6e2dd99467af661262d85d590974c49cb76900b4db16153 |
|
MD5 | 4b1915aaccf7a43b58ec5649ca21c53d |
|
BLAKE2b-256 | 750914edc848169a1e9a0ee731639ac55a5a693019f61d20cdd9f55861cd5da0 |
哈希值 for pyskani-0.1.2-cp37-cp37m-macosx_12_0_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 898c3f699c4ce3b4ed471c6b43aa106fbd2f8768b78b27a2569aee2d5a79a2c0 |
|
MD5 | d3bc10aec282463e756bc122c21d2782 |
|
BLAKE2b-256 | b3e6ae92d6559d7e449f8236d0c9a85a717f868911904e58623c1cf66afaae04 |