Compression of bloom filters from kmindex using parallel processing with background rsync.
- Python 3.6+
main_bitmatrixshuffle binary in PATH (or specify with --bitmatrix-shuffle)
rsync for background file synchronization
python compress_watcher.py <permutation_file> <index_id> [options]
| Argument |
Description |
permutation_file |
Path to permutation binary file |
index_id |
Index ID (e.g., species_name) |
| Option |
Default |
Description |
--matrix-base |
./index_data |
Path to matrix base directory |
--output-folder |
./compressed |
Path to output folder |
--bitmatrix-shuffle |
main_bitmatrixshuffle |
Path to bitmatrix shuffle binary |
--max-jobs |
16 |
Maximum number of parallel compression jobs |
--num-matrices |
256 |
Total number of matrices to compress |
python compress_watcher.py /path/to/permutation.bin my_index \
--matrix-base /data/kmindex \
--output-folder /data/compressed \
--max-jobs 8
- Starts a background rsync to copy matrix files from source to output directory
- Monitors for matrix files reaching 75% of expected size
- Submits compression jobs in parallel (up to
--max-jobs concurrent)
- Uses
main_bitmatrixshuffle to compress each matrix file
- Outputs compressed files as
blocks{N} in the output matrices directory