Note on versioning: - Major version change occurs when the Genozip file format is extended. Note that a new Genozip version can always uncompressed files generated by an older Genozip version (Starting v15, Genozip can uncompress files generated with Genozip v11 or later. Genozip v9-v14 can uncompress files starting v8). - Minor version changes with bug fixes and minor feature updates - Some minor versions are skipped due to failed deployment pipelines 15.0.51 27/3/2024 - FASTQ: Support for compressing .fastq.ora files (files produced by Illumina Ora). - VCF: Incrementally better compression of VCF files produced by DRAGEN. 15.0.50 8/3/2024 - FASTQ: ~10% improvement in compression time and CPU consumption, without affecting compression ratio - VCF: incremental compression improvements for GATK annotations 15.0.48 1/3/2024 - VCF: better compression of structural variants - Support for compressing FASTA files with descriptions lines starting with @ instead of > (as generated by NCBI) - Small speed gains - New diagnostic option: --show-stack - Fix bug introduced in 15.0.46 - failing to compress FASTQ files comprised of multiple concatenated gzip files. 15.0.46 21/2/2024 This release is all about speed: - genozip FASTQ: up to 1.7X-2X faster compression for most (but not all) FASTQ files without affecting the compression ratio due to a combination of better core scalability and various optimizations. - genounzip FASTQ/BAM/VCF: 1.5X faster decompression to disk (i.e. not in --test mode) - change in genounzip/genocat --bgzf (-z) parameter: range is now from 0 (no compression) to 5 (maximum compression) - genocat --bgzf=exact now works also when decompressing a single file from a co-compressed .genozip file (i.e. compressed with --deep or --pair) - new diagnostic option: --show-gz (see: genozip.com/losslessness) 15.0.42 11/2/2024 - Removed support for compressing Kraken, PHYLIP and Chain files, and and all related analysis options. These files can still be compressed as generic. These were removed because they were getting very little use. - Removed support for Dual Coordinate VCF as well as sorting VCF files - due to very little adoption vs high maintenance cost. For DVCF, Use Genozip 15.0.41. As result, removed the command line options: --chain, --dvcf-rename, --dvcf-drop, --show-lifts, --show-chain, --show-rename-tags, --sort, --unsorted, --luft, --single-coord, --show-dvcf, --show-ostatus, --show-ref-diff, --no-kmers - Removed experimental sex classifier (--sex option) - BAM: better compression of files produced by Abra2 - BAM: better compression of RNA files aligned with STAR - Faster genounzip: default BGZF compression level for outputting .gz and .bam files was changed from 6 to 1. This default may be overridden with -z. - Windows: double-clicking on a .genozip file decompresses it 15.0.41 4/2/2024 - speed vs compression ratio: normal mode (not --best or --fast): improve speed vs compression tradeoffs - VCF: better compression of files generated by GATK Mutect2 - --optimize-QUAL: slight change in binning: quality score '#' remains unchanged (previously is was binned to ''') 15.0.40 1/2/2024 - FASTQ/BAM: Better compression for some MGI Tech files - Remove the ability to convert SAM/BAM files to FASTQ. This added a layer of complexity and did not get a lot of usage. Use genocat | samtools view -OFASTQ instead. 15.0.39 24/1/2024 - Core engine improvements: significant reducion in RAM consumption during compression, along with modest compression gains. - Support for Mac Apple Silicon processors in osx64 simulated mode - Updated section 2 of the license, to grant Premium license holders the right to distribute Genozip to others. - improved diagnostics: new options: --show-snip, --debug-tar ; --show-headers can now take either a section name or dict_id 15.0.37 13/1/2024 - VCF: Better compression for multi-sample files where sample data is not only GT - VCF: Better compression of GATK GVCF files - Core engine improvements: significant reduction in RAM consumption mostly for large BAM and VCF files. 15.0.36 7/1/2024 - BAM: Better compression of files with NanoSeq tags - VCF: Better compression of polyploid (ploidy > 2) data - Bug fixes 15.0.35 30/12/2023 - improvement in compression speed of very large files on systems with > 100 cores due to improved core scalability - PacBio BAM: improved compression of subreads BAMs and unaligned CCS BAMs in some cases, particularly when using --best - Genozip Premium only: genozip --tar now also adds a copy of the genozip executables to the tar file (4 MB overhead) - New diagnostic option: --no-zriter - Bug fixes 15.0.34 23/12/2023 - genozip --tar now supports compressing with --reference, see https://www.genozip.com/archiving - New option genozip --sendto - only the designated user can decompress the file. Receiver must be a Premium user. - New option genozip --user-message - include a message that will be displayed to users when decompressing (Premium) - Encryption using --password is now available only in Genozip Premium - Seamless software updates for users who installed from genozip-linux-x86_64.tar (previously available only for users who installed from conda) - When attempting to use features allowed only for higher-level licenses, permission will be granted for evaluation - VCF: better compression of Platypus VCF files - New options: genocat: --analyze-insertions genozip: --prepare-for-taxid - Canceled option: --show-flags 15.0.28 5/12/2023 - Better compression of Ultima Genomics data: BAM/CRAM and VCF files - minor bug fixes 15.0.27 23/11/2023 - FASTQ: compression improvements for --pair - new option for VCF: --secure-DP. see genozip.com/genozip - new subsetting option for SAM/BAM: --qnames - show only alignments with/without certain QNAME values - new diagnostic tool: --show-singletons - bug fixes 15.0.26 13/11/2023 - Incremental compression improvements for VCF - Support for --deep for BAM files with consensus reads - minor bug fixes 15.0.25 3/11/2023 - PacBio: further improvement of an additional 5-10% in compression of PacBio CCS and CLR files (BAM and FASTQ). - incremental improvements in BAM and GTF compression - Better compression of PacBio Onso short reads - Better support of compression of .fasta.zip files (and all FASTA files compressed with ZIP) 15.0.24 23/10/2023 - BAM and VCF: verification that the contig lengths in the reference file provided with --reference match those specified in the file header - Agilent AGeNT Trimmer: better compression of FASTQ and BAM files with Trimmer tags - --deep now supports data in which BAM sequences may be trimmed at either end relative to their FASTQ counterparts (previously, only trimming at the end of the read was supported) - minor bug fixes 15.0.22 15/10/2023 - BAM: better compression of BQ:Z - Speed improvements and minor bug fixes - Added Paid Academic license option & updated license terms accordingly 15.0.17 8/10/2023 - Bug fixes and minor compression improvements 15.0.16 29/9/2023 - FASTQ and FASTA: --multiseq option is canceled - a file consisting of sequences that are similar to each other is now detected as such automatically, triggering the appropriate methods - BAM: better compression of Ultima Genomics files - bug fixes 15.0.15 12/9/2023 - Better compression of Ultima Genomics FASTQ and BAM files. - BAM: better compression of files with a very large number of contigs (eg mapped against the transcriptome rather than the genome) - BAM: better compression of MD:Z in files with many secondary alignments 15.0.14 29/8/2023 - new option: --no-bgzf - bug fixes 15.0.13 19/8/2023 - VCF: Better compression of Isaac/starling files - Recognized SAM files even if they incorrectly have an extension ".bam" - New diagnostic option: --skip-segconf - bug fixes - Update of article 4 in license 15.0.12 19/7/2023 - VCF: better compression when using --reference - genounzip of a file that was originally compressed with .bz2, .xz or .zip is now recompressed with .gz. Use --bgzf=0 to instruct genounzip to refrain from recompressing. - bug fixes 15.0.11 18/7/2023 - FASTQ: better compression for Ultima Genomics, Singular Genomics and Element Biosciences files - BAM: better compression for Ultima Genomics files, Isaac files - VCF: better compression of Isaac/starling files 15.0.9 14/7/2023 - VCF compression improvements including for VEP, gnomAD, ExAC, ICGC, COSMIC, dbNSFP, Mastermind -annotated files - FASTQ with --fast: some tradeoffs were tweaked - now it is a little bit slower but significantly better compression - Fixed bug that affected headerless SAM (but not BAM) files when compressed with a reference file with mismatching contig names 15.0.7 5/7/2023 - Minor bug fixes - License update: added consent to receiving product-announcement emails. 15.0.5 27/6/2023 - Minor bug fixes - License update: clarify that hospitals of any type are excluded from academic license eligibility 15.0.4 23/6/2023 NEW MAJOR RELEASE - Introducing Deep compression - co-compression of related BAM and FASTQ files with --deep reduces overall compressed size by ~40%. - Reduce compression time by ~40% on machines with > 50 cores - GFF: support compressing GFF3 files with embedded FASTA - BED: native support for compressing BED files - significantly better and faster compression. - BAM: ~20% better compression for PacBio files with iq / dq / sq tags. - VCF: better compression of dbSNP (INFO/VC field) - VCF: better compression of DRAGEN gVCF files (FORMAT/ICNT, FORMAT/SPL) - Reference files: redesigned reference caching - reference files generated with this release load significantly faster (older reference files are still supported) and Genozip no longer generates or uses reference .gcache and .hcache files. - Reference cache management: --no-cache, genols --cache - genozip --vblock option: maximum value is now 1024 (down from 2048) - genozip: compression with --tar now also automatically tests - --no-upgrade (new option) disables upgrade checks - Backward compatibility: Genozip version 15 can decompress files generated by Genozip v11 or later and can use reference files generated by v8 or later. To decompress earlier files, used Genozip v14. - License changes - Many, many other compression, speed and stability improvements. 14.0.35 3/May/2023 - Bug fixes. 14.0.34 24/March/2023 - Minor bug fixes 14.0.33 15/March/2023 - Incremental improvements and minor bug fixes. 14.0.32 17/Feb/2023 - FASTQ: Fixed bug in genocat of FASTQ files compressed with --pair which sometimes caused skipping displaying the beginning of the file. The bug was introduced in 14.0.3. - Fixed bug with --licfile combined with --test - which incorrectly prompted for registration - Filtering by Kraken: --taxid can now take multiple comma-separated taxonomy ids 14.0.31 14/Feb/2023 - FASTQ, BAM: incremental compression improvements - Minor bug fixes and improvements 14.0.30 8/Feb/2023 - Minor bug fixes and improvements 14.0.29 4/Feb/2023 - Minor bug fixes and improvements 14.0.27 27/Jan/2023 - Bug fix: A bug introduced in 14.0.3 occurred when compressing FASTQ files with --pair but without --md5 and resulted in falsely reporting that the file was verified despite not actually verifying it. This also occurred when running genounzip or genounzip --test on such files. There are no known issues with the actual compression of the files and it is now possible to go back and verify affected files with (the fixed) genounzip --test. 14.0.26 25/Jan/2023 - FASTQ: Better --optimize-DESC - Fix broken genocat --fastq (converting a SAM/BAM file to FASTQ) (broken since v14) - Fix broken --idxstats, --coverage, --sex (broken since v14) - Implement fix to minor htscodecs (3rd party library) bug (https://github.com/samtools/htscodecs/pull/71) 14.0.25 13/Jan/2023 - BAM, VCF: Significantly reduced memory consumption during compression - new diagnostic option: --show-memory=PEAK - shows peak memory usage (without PEAK, shows memory at it is at the end of the execution) 14.0.24 10/Jan/2023 - Fix license enforcement bug - Update copyright 14.0.22 8/Jan/2023 - VCF: better compression for GWAS-VCF files including support for GWAS-VCF fields in DVCF - DVCF: better handling of some edge cases - Change binaries in genozip-linux-x86_64.tar to be dynamically linked 14.0.21 28/Dec/2022 - Minor bug fixes 14.0.19 21/Dec/2022 - Registration flow adjustments for new website - Change source code tree structure 14.0.18 12/Dec/2022 - GFF/GVF/GTF: Better compression ; now also supports GFF version 2 and GTF - License: relax conditions for academic license and update sections 2,3e,5,10 for clarity ; New sections 7,8. 14.0.17 5/Dec/2022 - Website upgrade - Better multi-threading for the case of compressing small files - Automatic identification of file types piped into genozip (in many cases) - Update of license term 3c - Obsolete genounzip option --no-PG is canceled (it remains for genocat) - VCF: Better compression of INFO/QD - KRAKEN: new option: genozip --no-kmers - drop kmer info that is not needed for subsequent use of this file with --kraken - Minor bug fixes 14.0.16 19/Oct/2022 - Fix bug introduced in a recent release that caused a segfault on some CPUs 14.0.14 18/Oct/2022 - License changes: sections 2, 2a, 2c, 3e, 4, 5b - BAM: minor improvement in compression for NovoAlign-generated files 14.0.13 15/Oct/2022 - Minor improvements & bug fixes - Change in article 3c of the license - explicitly prohibiting reverse-engineering - New option: --submit - New advanced option: --debug-submit 14.0.12 12/Oct/2022 - VCF: Better compression for sturctural variant fields: INFO/CIPOS and INFO/CIEND, INFO/SVTYPE - VCF: Better compression for Illumina genotyping VCFs - Minor bug fixes 14.0.11 5/Oct/2022 - Same as 14.0.10, just conda pipeline issues 14.0.10 5/Oct/2022 - BAM: Compression improvements for DRAGEN-created files - BAM: better compression of UQ:i - BAM: better support for files with a very large number (millions) of @SQ records - Minor bug fixes 14.0.9 1/Oct/2022 - Minor bug fixes 14.0.8 28/Sep/2022 - BAM: better compression of uBAM (unaligned BAM) - VCF: better compression of INFO/MLEAC - Minor bug fixes 14.0.7 23/Sep/2022 - Allow kraken files to be specified as plain files in addition to genozipped files - Minor bug fixes - New option: --no-tip 14.0.6 23/Sep/2022 - Minor bug fixes 14.0.5 22/Sep/2022 - Allow reference files to be specified as FASTA in addition to ref.genozip - Minor bug fixes 14.0.4 15/Sep/2022 - VCF: better compression of INFO/RAW_MQandDP, INFO/RS, INFO/RSPOS - Minor bug fixes 14.0.3 12/Sep/2022 Summary: significant compression improvements for FASTQ, BAM, VCF in a wide range of cases. Compression and decompression are also faster. Compression improvement: - SAM/BAM: Better compression of Supplementary / Secondary alignments - SAM/BAM: Better compression of SA/XA/OA, CIGAR, QNAME, MD:Z, NM:i, TLEN, MC:Z, MQ:i, ms:i, sequence, SM, AM, X0, X1, XT and other tags - SAM/BAM: Better compression of files with methylation data created with Bismark, BS-Seeker2, Gem3, BSBolt, DRAGEN - SAM/BAM/FASTQ: Improvements in compression of short-read QUAL. - VCF: Significantly better compression of GVCF files - VCF: Better compression of FORMAT/PGT, REF+ALT, QUAL, INFO, INFO/DP, FORMAT/RGQ - FASTA: Better compression of amino acid fastas. - Usually faster compression and decompression than previous versions - Better license flow, upgrade notification, statistics Command line option improvements: - Genozip now tests after compression by decompressing the file in memory. This can be disabled with --no-test. - SAM/BAM: genocat --FLAG now also accepts names of flags eg "--FLAG +REVCOMP". See genozip.com/bam.html. - The --output option can now also accept a directory name - the output file is written into the specified directory, keeping its name - BAM: BAM files created by python programs using the pysam library and which have alignments with missing quality scores (i.e. QUAL="*"), pysam encodes the missing quality in a way that violates of the SAM specification. Genozip can now handle these files regardless. - FASTQ: Change in genocat options for FASTQ files compressed with --pair: (1) --R1 and --R2 replace the discontinued option "--component". (2) The default output format of genocat is now interleaved (up to v13, it would show the two files concatenated). - FASTQ: Support format where read name is a number, and line3 is an SRA format - FASTA: Much faster subsetting with --grep - --test now defaults to verify correctness with Adler32 which is much faster than MD5. To use MD5 instead of Adler32, specifiy --md5. - -h is now a shortcut for --header-only (previously it was a shortcut for --help) - genounzip --bgzf=exact attempts to uncompress the file into the same BGZF compression level as the original file. Previosuly this behaviour was the default, now genounzip optimizes for speed unless "exact" is requested. - New advanced options (see genozip.com/advanced.html for details): --log-digest, --show-sag, --show-depn, --show-lines, --show-gheader=2, --debug-read-ctxs, --debug-sag, --debug-gencomp, --no-gencomp, --no-domqual, --show-wrong-XG, --show-wrong-XM, --show-wrong-XB, --vblock with bytes specification, --show-bam, --debug-lines, --biopsy-line, --show-qual, --show-aligner, --debug-peek, --debug Discontinued functionality: - The little-used yet difficult to maintain feature allowing "Binding" of multiples files of the same type using eg "genozip file1.vcf file2.vcf --output bound.vcf.genozip" is no longer supported. This does NOT affect the --tar option, and also does not affect genozip files which contain two FASTQ files compressed with --pair. To compress multiple files into a single "archive" file, use "genozip --tar". To decompress existing genozip files compressed with the Binding feature, use Genozip v13. 13.0.21 21/August/2022 - Bug fix related to re-generation of reference files: compression using a reference file of 1. FASTQ files and 2. unaligned SAM/BAM files (unaligned SAM/BAM files are SAM/BAM files which have no contigs (@SQ lines) listed in their header): up to version 13.0.20, generating a Genozip reference file with "genozip --make-reference" unintentionally generated a unique reference file in each execution. It was therefore required to compress and decompress files using the same reference file, and re-generation of the reference file from FASTA data was not possible. Starting 13.0.21 genozip --make-reference always generates the same reference file for the same FASTA data. 13.0.20 13/July/2022 - Bug fixes 13.0.19 19/June/2022 - Bug fixes - BAM: Better support for OQ:Z 13.0.18 21/May/2022 - Bug fixes 13.0.17 18/May/2022 - Bug fixes 13.0.16 7/April/2022 - Bug fixes 13.0.15 31/March/2022 - --tar: added support for long filenames 13.0.14 29/March/2022 - Support --tar, where file uids are very large - e.g. when pulled from Active Directory using SSSD 13.0.13 25/March/2022 - Bug fixes 13.0.12 8/March/2022 - Bug fixes 13.0.11 23/Jan/2022 - VCF: Better compression of FORMAT/PS and FORMAT/PID 13.0.10 22/Jan/2022 - Bug fixes 13.0.9 21/Jan/2022 - Bug fixes 13.0.8 8/January/2022 - SAM/BAM/FASTQ: Better compression of BGI read names - New advanced option: --debug-qname 13.0.7 2/January/2022 - SAM/BAM: bowtie2: Better compression of AS and YS fields - Display warning if excessive dictionary size - Fix bug where genounzip sometimes output uncompressed files when a .gz-recompression was expected - Accept contig name "NC_012920" as equivalent to "chrM" 13.0.6 14/December/2021 - Better compression of QNAME (SAM/BAM/FASTQ/Kraken) - Improve memory effeciency when compressing BAM integer arrays (eg B:i) - New advanced option: --show-ref-diff - see the difference between two Genozip reference files. - New LongR codec for quality scores introduced in 13.0.5 now used also in default mode (not just in --best as before) 13.0.5 3/December/2021 - SAM/BAM, FASTQ: Better compression of PacBio and Nanopore quality scores (in --best mode) - VCF: Better compression for FORMAT/PS, FORMAT/GT, FORMAT/GQ, INFO/DP - Illumina formats: Better compression for .locs files - --multiseq (renamed from --multifasta) now works on FASTQ files too, in addition to FASTA 13.0.4 19/November/2021 - Better support for EasyBuild installations - see https://genozip.com/using-on-hpc.html - new option: --subdirs to recursively compress subdirectories - SAM/BAM: Better compression of CP:i - Performance enhancements 13.0.3 15/November/2021 - VCF: better compression of FORMAT/GL in --best - DVCF: more granular statuses, canceled --ext-ostatus - CRAM: now compresses as BAM instead of SAM 13.0.2 8/November/2021 - Native (binary) handling of BAM integers --> faster compression, up to 2X faster in BAM files with long arrays (eg PacBio subreads, IonTorrent) - Advanced option: --biopsy 13.0.1 4/November/2021 - Significant speed improvement in compression and decompression due to faster dict_id->did_i mapping, elimination of thread synchronization bottlenecks and integration of fast htscodecs. - Faster --fast mode, and better --best mode - SAM/BAM compression improvements: Better compression of MAPQ, MQ:i, XS:i, TLEN, CIGAR, ms:i (biobambam) - VCF compression improvements: better compression for sample fields GL,PP,PL,PRI,GP,DS,AD and files generated by VarScan. - VCF: Liftover fidelity improvements in DVCF - VCF: genocat --indels-only now also excludes variants which have an INFO/SVTYPE field - FASTA compression improvements: Better compression of amino acid sequences - GFF/GFF3: Support more variations of the format, including output of Maker and GFF (not only GFF3) output of Ensembl - Accept human contig names eg NC_000001.10 as equivalent to 1 or chr1 (and similarly for human chromosomes 1-22,X,Y) - Rename advanced option --debug-allthesame -> --debug-generate - Advanced option: --show-containers can now accept an argument for additional output - Much faster --make-reference 12.0.42 13/October/2021 - SAM/BAM: better compression for Z5:i, XM:i - bug fixes 12.0.41 12/October/2021 - SAM/BAM: significantly better compression for sorted (by POS) files 12.0.37 28/September/2021 - SAM/BAM: better NM:i, MD:Z, MQ:i, QNAME compression - FASTQ: --optimize-DESC now generates read names similar to the NCBI format, eg "@sample.6" - New advanced option: --show-wrong-md 12.0.36 24/September/2021 - New: genozip --match-chrom-to-reference: rewrite contig names to match the provided reference file (eg "22"->"chr22"), see https://genozip/match-chrom.html - Chain files can now be subsetted with --regions - More accurate progress indicator - Better support for contigs named by accession number, eg "GL000192.1", "chrUn_JTFH01001867v2_decoy", "chr4_gl383528_alt" - New advanced option: --debug-seg - Advanced option --show-ref-alts renamed --show-chrom2ref - faster --downsample when used with very large values - Relax section 2f of the license - Removed obsolete --with-chr - Bug fixes 12.0.34 9/September/2021 - Compile without -march=native for genozip-linux-x86_64 and Windows Installer distributions - Better support for IUPAC "bases" in reference files - DVCF: detect many-to-one coordinate mapping and generate an .overlaps file - VCF: better INFO/ANN, INFO/CLNHGVS, INFO/CSQ compression - SAM/BAM/FASTQ/FASTA/Kraken: better compression of QNAME / Description - SAM/BAM: Faster compression and decompression of SA, OA, XA with long reads - Faster --test - More robust compression from a URL, even on flakey connections - Improved --STATS report - bug fixes 12.0.33 31/August/2021 - Fix backward compatibility issue of decompressing FASTQ files compressed with --pair in v9.0.12 or earlier - FASTQ: genocat --seq-only and genocat --qual-only: output only the Sequence / Quality lines - DVCF: genocat --single-coord : Generates single-coordinate ("normal") VCF. Can be used with or without --luft - DVCF: genocat --contigs --luft: show the contigs of the Luft coordinate - FASTA: support --make-reference when contigs in FASTA are sequential (i.e. not broken into short lines) - SAM/BAM/FASTQ/FASTA/Kraken: better compression of QNAME / Description - SAM/BAM/FASTQ: Faster compression of long reads - bug fixes 12.0.32 26/August/2021 - Faster loading of reference files 12.0.31 23/August/2021 - Better GFF3 compression - Many minor bug fixes and cosmetics 12.0.30 15/August/2021 - Extended the genocat --fastq option for converting SAM/BAM to FASTQ: now --fastq=all emits all the SAM/BAM fields in the FASTQ description lines. 12.0.26 13/August/2021 - FASTA improvements: compression improvement for amino acid FASTAs; support --downsample ; support .fas and .frn filename extensions 12.0.25 9/August/2021 - DVCF: added tag renaming ; RengAlg attribute of ##INFO and ##FORMAT now enclosed in quotes. - VCF: better compression for INFO/CLNDN, INFO/CLNHGVS, INFO/RS, INFO/ALLELEID - When loading implicit reference files with a relative path, first try path relative to current directory, and then relative to file's directory. 12.0.14 29/July/2021 - FASTQ: support files where the 3rd line is a copy of the 1st line, except with '+' prefix instead of '@' - DVCF: a. lift-over of complex indels ; b. consistent sorting of lines that have the same CHROM/POS c. alt chrom names also if VCF has no contigs in header - snips with len > 512K (technical improvement) 12.0.13 - Option change: --grep for fastq now tests the entire read, not just the description - Option change: --interleaved now has an optional paramter --interleave=either or --interleave=both (default: both) describing how to handle in case of subsetting with eg --grep 12.0.12 24/July/2021 - Better support for compressing gff3 files 12.0.10 + 12.0.11 22/July/2021 - bug fixes 12.0.7 + 12.0.8 16/July/2021 - license and copyright update 12.0.6 15/July/2021 - new option: --tar to archive with genozip. See: https://genozip.com/archiving.html - new option: --files-from/-T - An alternative to providing input file names on the command line - bug fixes 12.0.5 9/July/2021 - Compressing low-coverage SAM/BAM files without a reference: better compression ratio, better decompression performance 12.0.4 8/July/2021 - safer implementation of --replace - updated non-commercial license - bug fixes 12.0.3 6/July/2021 - new option: --licfile. See genozip.com/using-on-hpc.html 12.0.2 2/July/2021 a. Dual-coordinate VCF files: genozip --chain to create a dual-coordinates file ; genocat --luft ("lifted") to see https://genozip.com/dvcf.html b. Filtering by taxonomy using kraken2 files - support for compressing kraken output files --kraken, --taxid, see: https://genozip.com/kraken.html. c. Many other improvements: - Support genocat --sort for VCF files ; --sort implied for dual-coordinates VCF files. Disabled by --unsorted. - Fixed bug with subsetting samples in VCF (genocat --sample). The fix will work on files compressed with 11.0.9 onwards. - Now, genounzip always unbinds files, and genocat always concatenates d. New options: - new option: genocat --component - to view a single component of a bound file (including one of the fastq files in a paired file) - new option: genocat --lines [start]-[last] - show a subset of lines of the file. - new option: genocat --head [num_lines] - show lines from the start of the file. - new option: genocat --tail [num_lines] - show lines from the end of the file. - new option: genocat --count - displays the number of lines (or reads in the case of FASTQ), that survived any filters applied (--regions, --grep, --taxid, --FLAGS, --MAPQ, --bases, --component, --one-vb etc) - new option: --show-filename - Show the file name for each file - new option: genocat --FLAG - filters a SAM or BAM file by the value of the FLAG field - new option: genocat --MAPQ - filters a SAM or BAM file by the value of the MAPQ field - new option: genocat --bases - filters a SAM/BAM/FASTQ for SEQ base values - new option: --echo displays the command line and a timestamp upon completion ofq execution (successful or failed) - new option: genocat --regions-file - reading regions from as an alternative to --regions - new option: genocat --show-chain - for chain files - show chain file alignments - new option: genocat --show-chain-contigs - for chain files - show contig list - new option: genocat --with-chr - for chain files - changes eg 22->chr22 and MT->chrM for all qNames - discontinued support for GTShark codec - use genozip v11 to decompress old VCF files compressed with --gtshark - VCF: better compression of FORMAT/F2R1, INFO/MLEAC, INFO/AA, FORMAT/MB, FORMAT/SB, FORMAT/ADALL, FORMAT/ADF, FORMAT/ADR, FORMAT/AF, FORMAT/SAC e. Option changes: - genozip - resturctured optimization options for VCF: --optimize-phred, --GL-to-PL, --GP-to-PP - genounzip now always unbinds files, and the --unbind is canceled. the --prefix can now used to set a prefix. - genocat --fastq will NOT add /1 or /2 to R1 and R2 reads in the case that --FLAG is specified as well - genocat --grep now works with most data types, --grep-w restrict to whole words - genocat --samples now also accepts a number - "--samples 5" shows the first 5 samples - genocat --validate=valid displays filenames that are valid genozip files. No change when used without "=valid". - genols --unbind (-u) option is renamed --list (-l). genozip --list option is canceled. - --sex, --coverage, --stats and --STATS replace --show-sex, --show-coverage --show-stats, --SHOW-STATS respectively - --chroms, and --contigs are accepted as alternative names for --list-chroms - Setting the environment variable GENOZIP_REFERENCE is now equivalent to --reference - Default number of threads is now 75% of cores for Windows and Mac and 110% of cores for Linux (modifiable with --threads) f. New advanced options: - new option: genocat --show-dvcf - shows line-by-line result of the liftover (applied to a dual coordinate VCF file) - new option: genozip --show- n - used in combination with --taxid - new option: --show-uncompress. Shows uncompressing of section data. - new option: --show-flags. Shows internal flags after initialization. - new option: --show-plan. Shows reconstruction plan - new option: --show-ref-iupacs. Show non-ACGT iupac codes in a reference file - new option: --debug-stats. For debugging development of stats.c - new option: --debug-allthesame. For debugging development of the allthesame algorithm - new option: --show-buddy. For debugging SAM/BAM buddy method g. Much improved website genozip.com 11.0.11 24/March/2021 - Fix bug with concatenating multiple files with genocat - genocat .... now will show the header of only the first file. To show headers of all files use genounzip --stdout instead. 11.0.9 20/March/2021 - Fix bug with --downsample in combination with --interleaved 11.0.8 9/March/2021 - Added sharding with genocat --downsample , - Added support for compressing UCSC chain files - Better --show-coverage - Bug fixes 11.0.7 5/March/2021 - Added genozip --idxstats - identical output to samtools idxstats - Much improved genocat --show-sex and --show-coverage - Bug fixes 11.0.6 2/March/2021 - Added genocat --show-coverage and --show-coverage-chrom - Added "Male-XXY" result to genocat --show-sex - Added genocat --validate - Better hash table sizing algorithm - reduced memory consumption - Developer tools: Added option to --debug-memory[=bytes] - Developer: add kill -USR1 - --show-memory of a running process - Bug fixes 11.0.5 27/Feb/2021 - Added genocat --show-sex for sex assignment of a SAM/BAM file - Improve Windows installer - Windows: add genozip directory to Path in registry, if not already there - Bug fixes 11.0.4 20/Feb/2021 - bug fixes 11.0.3 20/Feb/2021 - Added registration requirement to the non-commerical license (2.d.) - Bug fixes - windows installer relocated from windows/ to docs/ 11.0.2 13/Feb/2021 - Bug fixes 11.0.0 11/Feb/2021 - VCF: introduce a PBWT based codec for compression of the haplotype matrix. Retire hapmat and gtshark codecs. backward compatibility is provided for decompressing VCF files compressed in earlier versions of genozip with hapmat or gtshark - SAM: better handling of optional fields SA, OA, XA - Better memory management in Linux - Reduce core oversubscription from 1.4 to 1.2 - Add --multifasta option for better compression of a FASTA where the contigs are quite similar to each other 10.0.9 11/Jan/2021 - bug fixes 10.0.8 10/Jan/2021 - VCF: better handling of INFO/SF 10.0.5 8/Jan/2021 - VCF: better handling of FORMAT fields DP, AD, ADF, ADR, AD_ALL, PL and INFO fields DP, BaseCounts 10.0.4 8/Jan/2021 - VCF: better handling of FORMAT/DS - Bug fixes 10.0.3 7/Jan/2021 - Better --gtshark mode for VCF 10.0.2 7/Jan/2021 - Better memory usage in ZIP (canceled Context.node_i) - Better handling of VCF haplotype matrices with hetreogeneous ploidy - Bug fixes 10.0.0 31/Dec/2020 - Increased MAX_FIELDS from 64 to 2048. This sets the maximum number of INFO and FORMAT tags in VCF, maximum number of optional fields in SAM/BAM and maximum ATTR in GVF. - Set size of vblock dynamically - VCF: support FORMAT tags that begin with a character other than a letter (eg a digit) - VCF: better handling of INFO arrays - VCF: better handling of VEP fields: CSQ, DP_HIST, GQ_HIST, AGE_HISTOGRAM_HET, AGE_HISTOGRAM_HOM - VCF: better handling of FORMAT/DP and FORMAT/GQ - transposed matrix - Several other bug fixes - Backward compatible with Genozip 8 and 9 - v8 and v9-compressed files can be read by v10 9.0.22 28/Dec/2020 - more consistent --bgzf, --sam, --bam behavior in genocat - better --stats - minor bug fixes 9.0.21 bug fixes, including major bug with mc:i optional field in SAM 9.0.20 27/Dec/2020 - allow --output to a named pipe (fifo) (not available on Windows) - genounzip --bgzf now requires a level parameter (0 to 12). 0 means no compression, and hence --plain flag is canceled. - bug fixes 9.0.17 20/Dec/2020 - refactor access to the reference file - to using memory mapping and cache files - a lot faster and consumes less memory - when compressing a .gz (or BAM), test BGZF blocks against zlib too (with all compression levels), in addition to libdeflate - append /1 and /2 to the qname in fastq files in both --interleave of a paired fastq file and --fastq of a sam/bam file - renamed --test-seg to --seg-only - bug fixes 9.0.15 14/Dec/2020 - bug fixes and minor improvements 9.0.14 12/Dec/2020 - added better selection of stdout vs stderr for messages (info_stream) - bug fixes 9.0.13 10/Dec/2020 - added genocat --interleave: displays pairs of FASTQ files compressed with --pair with their reads interleaved. 9.0.12 8/Dec/2020 - bug fix 9.0.11 7/Dec/2020 - Fixed critical bug introduced in 9.0.0 in which FASTQ files that were compressed with BGZF (i.e. fq.gz), and genozipped with --pair, did not compress correctly - Added Phylip data type - genozip --pair can now compress any number of fastq files - every 2 consecutive files are considered a pair - genocat --header-one now works of FASTA too: Output the sequence name up to the first space or tab - genocat --phylip new translator - outputs a multi-fasta file in Phylip format - genocat --fasta new translator - outputs a Phylip file in multi-fasta format - bug fixes - Developer options: --xthreads Use only 1 thread for the main PIZ/ZIP dispatcher. This doesn't affect thread use of other dispatchers --show-headers now accepts a section-type as an optional argument 9.0.10 2/Dec/2020 - Added the --index option for genounzip / genocat to create an index file alongside the decompressed file 9.0.8-9 2/Dec/2020 - bug fixes 9.0.7 1/Dec/2020 - New flags: genocat --downsample - show only one in every X lines (or reads) genocat --one-vb - show data from a single VB - bug fixes 9.0.1-6 1/Dec/2020 - bug fixes and minor improvements 9.0.0 29/Nov/2020 Functionality: - Native compression of BAM (no longer using samtools for BAM) - Native reading and writing of BGZF data - New data type: "generic" for compressing any file beyond our supported genomic formats - Framework supports file translations SAM->BAM, BAM->SAM, SAM/BAM->FASTQ, 23andM3->VCF - Framework supports binary source files - Backwards compatible with v8 - v8-compressed files can be read by v9 - When decompressing a file that was originally compressed with BGZF (eg BAM, fq.gz...) - the BGZF blocks are reconstructed, with an attempt to guess the original compression level - File is now always verified - if md5 is not selected, then Adler32 is used - New / changed flags: --sam (new flag) for genounzip/genocat - reconstruct a SAM/BAM file as SAM --bam (new flag) for genounzip/genocat - reconstruct a SAM/BAM file as BAM --no-PG (new flag) refrain from adding a @PG record to the header when converting SAM->BAM or BAM->SAM --fastq (new flag) for genounzip/genocat - reconstruct a SAM/BAM file as FASTQ --vcf (new flag) genounzip/genocat - reconstruct a 23andMe file as a VCF --plain (new flag) in genounzip / genocat - negates implicit --bgzf --dump-local and --dump-b250 (renamed from dump-one-local and dump-one-b250) now output a file per VB --bytes (new flag) for genols - show sizes in bytes --dump-section (new flag) --show-bgzf (new flag) for genozip - show bgzf blocks --show-containers (new flag) for genounzip/genocat - show flow of container reconstruction --show-time can now accept an optional argument eg. --show-time=compressor --show-txt-contigs - shows contigs from the SAM/BAM header (SQ lines) --show-mutex - shows locks and unlocks of a particular mutex --unbind in genols (new flag) - shows the components of bound files --show-dict and show-b250 now accept an optional paramter + removed --show-one-dict and --show-one-b250 --show-digest show (md5 or Adler32) updates --stdout - flag canceled for compression (genozip), available for decompression (genounzip, genocat, genozip -d) --input - renamed from --input-type Compression improvements: - For b250 sections that have all the same entry - store the entry only once. If the entry is word_index=0, drop the section - Improvements in codec assignment algorithm, and use it for dictionary and some other section types in addition to b250 and local - 30% improvment in dictionary size of disk due to consolidation of fragments and codec assignment. - Multi-threaded decompression of dictionaries. - Speed improvements by having bsc and zlib use libdeflate's version of adler32 and crc32 Cleanup: - removed support for Visual C compiler 8.0.4 8/Nov/2020 - 10X improvement in --gtshark speed by moving to in-memory comms using fifo - fix thread safety issue in bits.c 8.0.3 23/Oct/2020 - Support samtools with or without --no-PG - Fix reading and writing BAM files using samtools - Fix bug in genocat --show-headers - Add back gtshark as a codec for VCF allele data, --gtshark option 8.0.2 20/Oct/2020 - Bug fixes - Improved 'genocat --show-headers' 8.0.0 16/Oct/2020 - Added libbsc codec - Dynamic selection of codec between lzma, bz2, bsc for each local and b250 buffer - --show-ref-seq can now work in combination with --regions in genocat/genounzip - Better license registration flow - Consume ~0.5GB (for human data) less RAM in genounzip of SAM files compressed without a reference - In --regions, allow specification or ranges using length eg "chr22:1000+151" - equivalent to "chr22:1000-1150" - Canceled optimize-SEQ (benefits were tiny if any, but it slowed down --optimize considerably) - Added --best to contrast --fast. --best doesn't have any additional effect as its the default mode of genozip. - Added =prefix option to --unbind, to add a prefix when unbinding - --reference in genounzip is now optional - will use original reference filename absent --reference - Not backward compatible 7.0.5 10/Oct/2020 - Add --show-stats and --SHOW-STATS to genocat/genounzip by introducing a new section SEC_STATS ; remove limitation of only one file when -w or -W 7.0.4 4/Oct/2020 - Bug fixes 7.0.3 3/Oct/2020 - Bug fixes 7.0.2 2/Oct/2020 - Even better SAM BD/BI codec 7.0.1 29/Sep/2020 - bug fixes - new --test-seg debug option - change default number of threads to 1.4 * number of cores 7.0.0 28/Sep/2020 - Re-write the VCF segmenter to use the modern infrastructure of recursive data definition. In the process, some little-used features were discontinued: --gtshark, --sblocks. Non-GT subfields are now compressed as is (not transposed), and each field on its own. Samples as well as the GT field are defined as Structured. - Removed gloptimization - too small of a benefit for non-standard code - Change all data types to be fully recursive starting at TOPLEVEL, removing data-type specific reconstruction loop - Added caching of Structured in PIZ - Better BD and BI compression for SAM - Not backward compatible - Bug fixes 6.0.11 21/Aug/2020 - Bug fixes 6.0.3 19/Aug/2020 - Added new data type for reference files - and an option for creating a reference file from a FASTA - --make-reference - Added compression against reference for FASTQ, SAM and VCF - new options --reference and --REFERENCE - Added --pair to compresses pairs of paired-end fastq files together, resulting in significantly better compression - Added Domqual compression method, for handling dominant quality scores such as Illumina binned quality scores in FASTQ and SAM - Added ACGT compression codec for nucleotide sequences - Added support for compressing CRAM files - Added better compression for FORMAT/PS, INFO/AC, INFO/AF, INFO/AN, INFO/SVLEN in VCF - Added --optimize-DESC for FASTQ optimization - Added --optimize-SEQ for FASTQ, FASTA, SAM optimization - Added many options including --list-chroms, --dump-one-local, --show-reference, --show-ref-index, --show-ref-seq, --show-chrom2ref, --show-ref-contigs, --show-ref-hash - Removed backward compatability with versions v1 and v5. Use genozip version 5 to decompress files of all previous versions. 5.0.9 16/June/2020 - fix bug with compressing VCF / GVF with an INFO / ATTRS field of '.' 5.0.7 2/June/2020 - bug fixes 5.0.5 31/May/2020 - Updated license - Added user registration - Added full support for compressing SAM/BAM, FASTQ, FASTA, GVF and 23andMe files - Compression improvements for VCF files with any of these: 1. lots of non-GT FORMAT subfields 2. ID data 3. END INFO subfield 4. MIN_DP FORMAT subfield - Added genounzip output options: --bcf for VCF files and --bam for SAM files - Added --input-type - tell genozip what type of file this is - if re-directing or file has non-standard extension - Added --stdin-size - tell genozip the size of a redirected input file, for faster execution - Added --show-index for genounzip and genocat - see index embedded in a genozip file - Added --fast option for (a lot) faster compression, with (somewhat) reduced compression ratio - Added --grep for genocat FASTQ - Added --debug-progress and --show-hash, useful mostly for genozip developers - Reduce default vblock from 128MB to 16MB - Cancel option --strip list Note: some versions numbers are skipped due to failed conda builds (every build attempt consumes a version number) 4.0.11 30/March/2020 - bug fixes 4.0.10 28/March/2020 - updated license - added --header-one to genocat - query user whether to overwrite an existing file - better error messages when running external tools - bug fixes 4.0.9 27/March/2020 - improve performance for --samples --drop-genotypes --gt-only --strip and --regions - skip reading and decompressing all unneeded sections (previously partially implemented, now complete) - bug fixes 4.0.6 25/March/2020 - bug fixes 4.0.4 24/March/2020 - add support for compressing a file directly from a URL - remove support for 32-bit Windows (its been broken for a while) 4.0.2 23/March/2020 - genozip can now compress .bcf .bcf.gz .bcf.bgz and .xz files - genounzip can now de-compress into a bgzip-ed .vcf.gz file 4.0.0 21/March/2020 - a bug that existed in versions 2.x.x and 3.x.x, related to an edge case in compression of INFO subfields. fixing the bug resulted in the corrected intended file format that is slightly different than that used in v2/3. Because of this file format change, we are increasing the major version number. Backward compatibility is provided for correctly decompressing all files compressed with v2/3. - VCF files that contain lines with Windows-style line ending \r\n will now compress losslessly preserving the line ending 3.0.12 20/March/2020 - added genocat --GT-only 3.0.11 20/March/2020 - added genocat --strip 3.0.9 19/March/2020 - bug fixes 3.0.2 18/March/2020 - changed default number of sample blocks from 1024 for non-gtshark and 16384 in gtshark to 4096 for both modes. - bug fixes 3.0.0 17/March/2020 - added --gtshark allowing the final stage of allele compression to be done with gtshark (provided it is installed on the computer an accessible on the path) instead of the default bzlib. This required a change to the genozip file format and hence increment in major version. As usual, genozip is backward compatible - newer versions of genozip can uncompress files compressed with older versions. 2.1.4 16/March/2020 - rewrote the Hash subsystem - (1) by removing a thread synchronization bottleneck, genozip now scales better with number of cores (esp better in files with very large dictionaries) (2) more advanced shared memory management reduces the overall memory consumption of hash tables, and allows to make them bigger - improving speed - --show-sections now shows all dictionaries, not just FORMAT and INFO - --added optimization for VQSLOD 2.1.3 14/March/2020 - Fixed bug in optimization in GL in --optimize 2.1.2 13/March/2020 - Added --optimize and within it optimization for PL and GL 2.1.1 12/March/2020 - Reduced thread serialization to improve CPU core scalability - New developer options --show-threads and --debug-memory - Many bug fixes - Improved help text 2.1.0 9/March/2020 - Rewrote VCF file data reader to avoid redundant copies and passes on the data - Moved to size-constained rather than number-of-lines constrained variant blocks - change in --vblocks logic. - Make MD5 calculation non-default, requires --md5. genounzip --test possible only if file was compressed with --md5 - Improved memory consumption for large VCFs with a single or small number of samples 2.0.0 6/March/2020 - New genozip file format - backward compatibility to decompress genozip v1 files - Columns 1-9 (CHROM to FORMAT) are now put into their own dictionaries (except REF and ALT that are compressed together) - Each INFO tag is its own dictionary - --vblock for setting the VB size - Allow variant blocks larger than 64K and set the default VB size based on the number of samples to balance compression ratio with memory consumption. - --sblock for setting the sample block size - change haplotype permutation to keep within sample block boundaries - create "random access" (index) section - new genozip header section with payload that is list of all sections - at end of file - due to random access, .genozip files must be read from a file only and can no longer be streamed from stdin during genounzip / genocat - all dictionaries are moved to the end of the genozip file, and are read upfront before any VB, to facilitate random access. - genocat --regions to filter specific chromosomes and regions. these are accessed via random access - genocat --samples to see specific samples only - genocat --no-header to skip showing the VCF header - genocat --header-only to show only the VCF header - genocat --drop-genotypes to show only columns CHROM-INFO - Many new developer --show-* options (see genozip -h -f) - Better, more compressable B250 encoding - --test for both genozip (compressed and then tests) and genounzip (tests without outputting) - Support for --output in genocat - Added --noisy which overrides default --quiet when outputting to stdout (using --stdout, or the default in genocat) - --list can now show metadata for encrypted files too - Many bug fixes, performance and memory consumption optimizations 1.1.3 7/Feb/2020 - --unbind option - required storing the VCF header of all files, and keeping md5 for both the bound file and each component - Improvement in memory and thread management - to reduce memory consumption when compressing very large files (100s of GB to TBs) - Separate --help text for each command - Optimize MD5 performance (move to 32b and eliminate memory copying) - Many bug fixes.