1 个不稳定版本
0.1.0 | 2024 年 6 月 25 日 |
---|
#1143 在 命令行工具
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 提供两个主要命令:compress
和 decompress
。
压缩
要压缩文件,请使用 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