跳转到主要内容

PyO3绑定和Python接口,用于nafcodec,一个用于Nucleotide Archive Format (NAF)文件的编码/解码器。

项目描述

📦🧬 nafcodec Stars

Rust编码/解码器,用于Nucleotide Archive Format (NAF)文件.

Actions Coverage License Docs Crate PyPI Wheel Bioconda Python Versions Python Implementations Source Mirror GitHub issues Changelog Downloads

🗺️ 概述

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 (79.0 kB 查看哈希值)

上传时间: 源代码

构建的发行版

nafcodec-0.2.0-pp310-pypy310_pp73-win_amd64.whl (449.6 kB 查看哈希值)

上传时间: PyPy Windows x86-64

nafcodec-0.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (772.7 kB 查看哈希值)

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

nafcodec-0.2.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (749.1 kB 查看哈希值)

上传时间: PyPy macOS 10.9+ x86-64

nafcodec-0.2.0-pp39-pypy39_pp73-win_amd64.whl (450.3 kB 查看哈希值)

上传时间: PyPy Windows x86-64

nafcodec-0.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (774.6 kB 查看哈希值)

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

nafcodec-0.2.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (750.9 kB 查看哈希值)

上传时间: PyPy macOS 10.9+ x86-64

nafcodec-0.2.0-pp38-pypy38_pp73-win_amd64.whl (449.3 kB 查看哈希值)

上传时间: PyPy Windows x86-64

nafcodec-0.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (773.7 kB 查看哈希值)

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

nafcodec-0.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (750.7 kB 查看哈希值)

上传时间: PyPy macOS 10.9+ x86-64

nafcodec-0.2.0-pp37-pypy37_pp73-win_amd64.whl (451.4 kB 查看哈希值)

上传时间: PyPy Windows x86-64

nafcodec-0.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (777.3 kB 查看哈希值)

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

nafcodec-0.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (752.9 kB 查看哈希值)

上传时间 PyPy macOS 10.9+ x86-64

nafcodec-0.2.0-cp312-cp312-win_amd64.whl (449.9 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

nafcodec-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (774.3 kB 查看哈希值)

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

nafcodec-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl (749.8 kB 查看哈希值)

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

nafcodec-0.2.0-cp311-cp311-win_amd64.whl (449.4 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

nafcodec-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (772.9 kB 查看哈希值)

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

nafcodec-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl (749.3 kB 查看哈希值)

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

nafcodec-0.2.0-cp310-cp310-win_amd64.whl (449.5 kB 查看哈希值)

上传时间 CPython 3.10 Windows x86-64

nafcodec-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (772.9 kB 查看哈希值)

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

nafcodec-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl (749.3 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

nafcodec-0.2.0-cp39-cp39-win_amd64.whl (450.0 kB 查看哈希)

上传于 CPython 3.9 Windows x86-64

nafcodec-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (773.7 kB 查看哈希)

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

nafcodec-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl (749.7 kB 查看哈希)

上传于 CPython 3.9 macOS 10.9+ x86-64

nafcodec-0.2.0-cp38-cp38-win_amd64.whl (449.2 kB 查看哈希)

上传于 CPython 3.8 Windows x86-64

nafcodec-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (773.1 kB 查看哈希)

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

nafcodec-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl (749.7 kB 查看哈希)

上传于 CPython 3.8 macOS 10.9+ x86-64

nafcodec-0.2.0-cp37-cp37m-win_amd64.whl (449.6 kB 查看哈希)

上传于 CPython 3.7m Windows x86-64

nafcodec-0.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (773.5 kB 查看哈希)

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

nafcodec-0.2.0-cp37-cp37m-macosx_10_9_x86_64.whl (750.0 kB 查看哈希)

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

支持