#huffman #压缩 #信息 #编码 #压缩 #Huffman 编码 #命令行工具

bin+lib genezip

一个用于压缩和解压缩原始基因组信息的编码命令行工具

1 个不稳定版本

0.1.0 2024 年 6 月 25 日

#1143命令行工具

MIT/Apache

17KB
303

GeneZip 🧬

GeneZip 是一个 Rust 命令行工具,旨在使用 Huffman 编码压缩包含遗传信息字符串的文件。Huffman 编码是一种通过根据输入字符的频率分配变长代码来压缩数据的高效方法。

功能

  • 使用 Huffman 编码和运行长度标记编码(开发中!)压缩遗传信息文件
  • 解压缩使用 GeneZip 压缩的文件
  • 简单直观的命令行界面

安装

要安装 GeneZip,您需要在您的机器上安装 Rust 和 Cargo。如果您还没有安装,您可以从 rust-lang.org 获取。

一旦安装了 Rust 和 Cargo,您可以使用以下命令安装 GeneZip

cargo install genezip

使用方法

注意 GeneZip 目前处于非常早期的测试阶段。目前实现了 Huffman 编码,但没有基于序列的标记编码和基于运行的编码,因此生成的文件将始终比之前更大。GeneZip 正在持续更新,并将很快收到这些功能!

GeneZip 提供两个主要命令:compressdecompress

压缩

要压缩文件,请使用 compress 命令,后跟输入文件和所需的输出文件

genezip compress <input_file> <output_file>

压缩将创建您所需的压缩文件,同时创建一个序列化的 key,其中包含解压缩基因组文件所需的编码

示例

genezip compress sequences.txt sequences.gzp

解压缩

要解压缩文件,请使用 decompress 命令,后跟压缩文件、从压缩生成的 .gzpky 密钥以及所需的输出文件

genezip decompress <input_file> <key_file> <output_file>

示例

genezip decompress sequences.gzp sequences.gzpky sequences.txt

示例

压缩文件

假设您有一个包含遗传信息的字符串的文件 genetic_data.txt。要压缩此文件,请运行

genezip compress genetic_data.txt genetic_data.gzp

解压缩文件

要解压缩之前压缩的文件 genetic_data.gzp,请运行

genezip decompress genetic_data.gzp genetic_data.gzp.gzpky genetic_data_decompressed.txt

贡献

欢迎贡献!如果您有改进建议或新功能,请随时提出问题或提交拉取请求。请确保您的代码遵循现有的代码风格,并包含适当的测试。

许可

GeneZip 根据 MIT 许可证授权。有关更多信息,请参阅 LICENSE 文件。

依赖项

~1.6–2.6MB
~51K SLoC