PyO3绑定和Python接口,用于nafcodec,一个用于Nucleotide Archive Format (NAF)文件的编码/解码器。
项目描述
📦🧬 nafcodec
Rust编码/解码器,用于Nucleotide Archive Format (NAF)文件.
🗺️ 概述
Nucleotide Archive Format是2019年由Kryukov等人[1]提出的一种文件格式,用于存储压缩的核苷酸或蛋白质序列,结合了4位编码和Zstandard压缩。可以使用原始C实现压缩和解压缩NAF文件。
本库为 PyO3 提供了到 nafcodec
包的绑定,这是一个使用 nom
解析二进制格式,以及 zstd
处理 Zstandard 解压缩的 Rust 实现。它提供了一个完整的 API,允许遍历 NAF 文件的全部内容。
这是 Python 版本,还有一个可用的 Rust 包。
📋 功能
- 流式解码器:解码器使用不同的读取器来访问压缩文件的不同区域,允许流式传输记录而不必解码整个块。
- 文件式解码:允许解码器从类似文件的对象中读取,而不是期望一个路径。
以下功能计划中
- 可选解码:允许解码器跳过某些字段的解码,例如在不需要时忽略质量字符串。
- 编码器:实现编码器,使用内存缓冲区或临时文件来增长存档。
🔌 使用方法
使用 nafcodec.Decoder
来遍历 Nucleotide Archive Format 的内容,从给定的 路径样对象 或 文件样对象 中读取
import nafcodec
decoder = nafcodec.Decoder("../data/LuxC.naf")
for record in decoder:
print(record.id)
获取的 Record
的所有字段都是可选的,并且实际上取决于压缩的数据类型。
💭 反馈
⚠️ 问题跟踪器
发现了错误?有增强请求?如果您需要报告或询问某些内容,请访问 GitHub 问题跟踪器。如果您正在报告错误,请尽可能提供关于该问题的详细信息,并尝试在简单、易于复现的情况下重现相同的错误。
📋 更新日志
本项目遵循 语义版本控制,并在 Keep a Changelog 格式下提供 更新日志。
⚖️ 许可证
本库在开源 MIT 许可证 下提供。NAF 规范属于公共领域。
本项目与原始 NAF 作者无任何关联、赞助或任何形式的认可。该项目由 Martin Larralde 在 欧洲分子生物学实验室 的 Zeller 团队 的博士项目中开发。
📚 参考资料
- [1] Kirill Kryukov, Mahoko Takahashi Ueda, So Nakagawa, Tadashi Imanishi. "Nucleotide Archival Format (NAF) enables efficient lossless reference-free compression of DNA sequences". Bioinformatics, Volume 35, Issue 19, October 2019, Pages 3826–3828. doi:10.1093/bioinformatics/btz144
项目详情
下载文件
为您的平台下载文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
构建的发行版
nafcodec-0.2.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8194203409f9e0b7aa762530747da4db4dc4c19de0b8fb0419b894e89368e6b8 |
|
MD5 | 7d59f5967c1b287d90927e7699f2eec5 |
|
BLAKE2b-256 | 51b4ffa1ed40c6a69d4393438e15e1e4eb69875339c587800a996190474f9536 |
哈希值 用于 nafcodec-0.2.0-pp310-pypy310_pp73-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f4b449608aca37481c13e95e36f0011942d8a61e4f6aad0a16b8911d15eed116 |
|
MD5 | 88e0b58a025962f7b207180b366e6949 |
|
BLAKE2b-256 | 88c280d4cf8150976698a887ff056cccd300d63ec9be48dd73bcf361ae5f922b |
哈希值 用于 nafcodec-0.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | db01d193a3c4adb2b140daffbac720b5e845a4aa9c5228b5d6ea2a8713654b6c |
|
MD5 | 9b26e2763530cebce0a1b3c443665f96 |
|
BLAKE2b-256 | 92d4b86c7caffb48461b9420b14198632841b6476009a641f5ac9c8692a7743d |
哈希值 用于 nafcodec-0.2.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | abe89929c68b6cd1a01ba8ba894ee47c1ddd23af05007116cdcb808e7c9f0b17 |
|
MD5 | 8beb8112812d2847941891e4db1cd2ad |
|
BLAKE2b-256 | b04d0f1dafdbb93c689783db076ffb8df38f6962e755ebde1654643f0f601dc4 |
哈希值 用于 nafcodec-0.2.0-pp39-pypy39_pp73-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7de217f74c855ad3e4286b4cf1c0536bc6994536780be750109726cca69a5cd3 |
|
MD5 | a369eeca3987a73caa105ca7c8246bad |
|
BLAKE2b-256 | dcd51184fc7ce3be8b8f8c74439464bbcf2ab82f64242d4d081412d2f5974542 |
哈希值 用于 nafcodec-0.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 83562acc60e667e3eeead3b5daf0a08b9841fd3aff4faa548b6938fde6144d17 |
|
MD5 | e281a001f6f0dc5922ae3ea638f98671 |
|
BLAKE2b-256 | c07ff8aca30bec03e7c24083b1ebb4f2dcdffdda810fdcd4adec9c62f5c26554 |
哈希值 用于 nafcodec-0.2.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c69cc51b5af6d999ec31d8985f9aa7df50bd89a99e9a31e721787c18341f2f74 |
|
MD5 | 403fb8ab27c424ae55e8f4097a19d3f3 |
|
BLAKE2b-256 | 42a4168a5861f9b49e72a1c36c212f752c136a93af84206ea1dc3194e3797fc0 |
哈希值 用于 nafcodec-0.2.0-pp38-pypy38_pp73-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c5866ad8c7fb263e0bce0620e9367442a6cc308af6c992293a2d8a9c1dd249a3 |
|
MD5 | 2e2c5e3bcba583a11575ccddde01b1a9 |
|
BLAKE2b-256 | 0a1149be10cab18df6c1183304483506f56bb6c0bc0a363ac736c387e3ccb1d0 |
哈希值 用于 nafcodec-0.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e40a5394a2f73dd43c9526c0c7d2b96a3aae554409df00e76e4b5563df71b209 |
|
MD5 | 063605a733122d9abb58fd509848bc73 |
|
BLAKE2b-256 | 5e37add9fe7700125b8251e1bca12987ec621f2cb52b10e95a470e4a608645fc |
哈希值 用于 nafcodec-0.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2d1494da90115c4c343c53bfa5ad27661b6d6142cfbaa86664a127b9a34fdbcc |
|
MD5 | a5b6d3dd6edffdc6d9fd6dfdd5ccc665 |
|
BLAKE2b-256 | 1eb5231e0b2da5634b9b2275b54d52fc306541074a721a92df4562257e37b7fa |
哈希值 用于 nafcodec-0.2.0-pp37-pypy37_pp73-win_amd64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8c1d2d53cbb83b80468a50181fe60554fbca008880c150405b7512897d1afad5 |
|
MD5 | 645d622112233687a2eed882586c0c9a |
|
BLAKE2b-256 | 5a16f2d13ed3dea34bf6c7c746c06d1c51b470f15fbc7ddf28676309e267af44 |
哈希值 用于 nafcodec-0.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | eca4f61ba0ac425154b4dfebd6a976a17657341014db40de4076365b8d2bd1df |
|
MD5 | 474f95b6aae3ef9c6d2cc03e578faa49 |
|
BLAKE2b-256 | d308a3687171a5f444baf07d8809b520d2e9d7f78fa8f3a27136f6bb479d06ff |
哈希值 用于 nafcodec-0.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5200ba7e28cf5a1eb77efad789a0621da4fe35c67091e2593d9ecae6d15a3b45 |
|
MD5 | ddf3f284ef3dde08a79429c24d5f9eb0 |
|
BLAKE2b-256 | e5634d2a651ad10aef85650c4fe9d7c2e1d186d4f5395cd5caf3cccf4e0d1513 |
哈希值 用于 nafcodec-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9e2083abbe3321c4cd9da7f377f7673fc507665d62dcdc94aa01f0a467ac2b11 |
|
MD5 | db0c2ed13b2bd6577cccc9aa66379af4 |
|
BLAKE2b-256 | 1c10acfa65856dc2234f39a4bd62d02ec94b9acb2a201f36003f2caeccc40e6d |
哈希值 用于 nafcodec-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9e9dcf994a215a9506ad95ac89522eec05fbee78e6846edcf4f38c75f5730f7b |
|
MD5 | 2ff69b31104ae17d1b9c0544f7fcff7f |
|
BLAKE2b-256 | 6dcc4c3ba1a4bf60f42b09d730aa93c6cbbc9bf81c394cd29b45c6bacb29661b |
哈希值 用于 nafcodec-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 345c3b03c28efef24e9734129d48d08607d7c36e649040feeec521a5cdf16fa5 |
|
MD5 | 98cd7b79b1ea7730397710b1783fc9f0 |
|
BLAKE2b-256 | 05181af940233f6bf2e808bf02ad30cb00a37fa42192e55fcba264505b6a3704 |
哈希值 用于 nafcodec-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0ffa1bc1f4a338e280f60763099266df2445ea36bc755369eb4a85c576627a56 |
|
MD5 | 711bdfc51c73316b6cca75408c747aa5 |
|
BLAKE2b-256 | 38162fefcebfc7ba735a03d0751d19cecf2fd690bc974c37ac770e839ada8df8 |
哈希值 用于 nafcodec-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e4ed413b92e1701da126fcb5aa92237f6549be7b1add28b46f8382424607fe2d |
|
MD5 | c0c68611560f8db19167fd145869ed19 |
|
BLAKE2b-256 | 3b15b14b9e7dd0e1a307c49a7aaadad228bd759a9d120e020611d0bee879f736 |
哈希值 用于 nafcodec-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9e418aa68212125cab909b20fe33de183f0ed3bd40b9905c49118b3a91350a63 |
|
MD5 | a516eae192c4bd7fdfb537f479cd2212 |
|
BLAKE2b-256 | 2be6116b0be80241fa88b7a6447087654441800273295112630fb9d90290f274 |
哈希值 用于 nafcodec-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9eabb609740d77a0c58a7a10dba31f2ec4981414ee5a4a889dc8848bb00a37de |
|
MD5 | 6800c2c3f3bccbdb908e67ae0bf174b6 |
|
BLAKE2b-256 | 2ddd5fabe9166d7b1185b85b713d3a6eb28a39391432e259624db985d825b31f |
哈希值 用于 nafcodec-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 230ac679b7e9bf1e6c313a1e5a342dd8d56aba1718cc92e9641857824e927d6b |
|
MD5 | 3fa0c3798be2d1494ab94dad16113a06 |
|
BLAKE2b-256 | 95cdf8c7df231f2fa15323f63910989ed57a0da761116d74488d6040ce42c934 |
哈希值 用于 nafcodec-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b44a53d94abd4c7c63ad1af62829d861f29333ca6d3f2091add7a3b444e547be |
|
MD5 | 37a66504b62004bd690fee3860813586 |
|
BLAKE2b-256 | 62f0615c4024bcdfa70cc5aa8dbf3e5a3fa5d0299f2c48993c1c1678ad4c8e70 |
哈希值 用于 nafcodec-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5caf26df15d2c3e0e75c7bc65454f4325148a6a739d53549dcc7f62d8872226b |
|
MD5 | 13594fd352da87f210371f32148a58c7 |
|
BLAKE2b-256 | 5c91b987c8741d7831723b9c6c619dba3c379ff710e93dae3b481af82c53d762 |
哈希值 用于 nafcodec-0.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f77508ac7aff68672a3115dcfa3fae17b166c352f6d7d0fb6bb72d61396f0ee9 |
|
MD5 | ff25eecc1e80ca9557b779b4aea7a466 |
|
BLAKE2b-256 | 37045772e679d82dc20e283bd24d228d00636f5cb690032d2b167744daccb622 |
哈希值 用于 nafcodec-0.2.0-cp37-cp37m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 02f33e17dd570ea1436bf30f642eae8d4e2e2188a84441dbb61e115600ea93dc |
|
MD5 | 3193b9add9f53ec4ae8778271540fd25 |
|
BLAKE2b-256 | 1751d13691d2dbeaaacc56f041e5fa0af799d2cf00a0308f03b49c50752076c3 |