Skip to content

Releases: huishenlab/biscuit

Version 1.8.0

17 Feb 19:05

Choose a tag to compare

Important Notes:

  • Beginning with Version 1.8.0, the macOS binary provided by the BISCUIT maintainers will be built for the Apple M-series (arm64) CPU. For those with macOS using an Intel (x64_64) CPU, BISCUIT is available through bioconda or can be built from source.
  • Beginning with Version 1.4.0, BISCUIT no longer needs submodules. Therefore, the GitHub-generated Source code (zip) and Source code (tar.gz) links may contain all necessary files. If preferred, release-source.zip is guaranteed to contain all BISCUIT source files.
  • Beginning with Version 1.0.0, BISCUIT is no longer backwards compatible with Version 0.3.16 and earlier.

Date Created:

  • 17 February 2026

General Changes:

  • BISCUIT will now build on arm64 and aarch64 CPU architectures.
  • Copyright years updated to 2026.
  • Updated outdated LICENSE file.
  • Added intitial testing framework to validate outputs across versions.

Bug Fixes:

  • Issue #73 fixed. (Incorrect error message when running biscuit epiread -M without a modBAM). Reported by benbfly.
  • Issue #74 fixed. (Better error message when unknown modBAM modification encountered). Reported by benbfly.

Version 1.7.1

09 Sep 14:26

Choose a tag to compare

Beginning with Version 1.4.0, BISCUIT no longer needs submodules. Therefore, the GitHub-generated Source code (zip) and Source code (tar.gz) links may contain all necessary files. If preferred, release-source.zip is guaranteed to contain all BISCUIT source files.

Important Notes:

  • This version is not backwards compatible with BISCUIT Version 0.3.16 and earlier.
  • A binary is not provided for Mac in this release. BISCUIT is available through bioconda for both Intel (x86_64) and Apple M-series (ARM) CPUs.

Date Created:

  • 8 September 2025

Changes affecting specific subcommands/scripts:

  • cinread:
    • Usage message now includes descriptions for each of the values that can be printed out. PR #68 from njspix.

Bug fixes:

  • Issue #72 fixed. (Read-averaged CpC and CpT were always 0.0 in biscuit qc). Reported by ashlin-314.
  • biscuit bsconv -p (print cytosine retention and conversion in tabular format) also printed the BAM header, when the header should only be printed for SAM/BAM output.

Version 1.7.0

12 May 19:08

Choose a tag to compare

Beginning with Version 1.4.0, BISCUIT no longer needs submodules. Therefore, the GitHub-generated Source code (zip) and Source code (tar.gz) links may contain all necessary files. If preferred, release-source.zip is guaranteed to contain all BISCUIT source files.

Important Note: This version is not backwards compatible with BISCUIT Version 0.3.16 and earlier.

Date Created:

  • 12 May 2025

General changes:

  • Check for existence of libdeflate during build process. If found, it will build htslib against libdeflate and link it accordingly in BISCUIT.

Changes affecting specific subcommands/scripts:

  • align:
    • @SQ tags no longer alphabetically sorted when written to SAM file. The order of entries will match the order of chromosomes in the reference FASTA.
    • @HD line now written to SAM file if one is not provided via the -H option.
  • qc_coverage:
    • New subcommand in BISCUIT.
    • Creates coverage outputs similar to those produced via samtools/bedtools/awk in previous QC.sh script.
    • Greatly improves speed over original method.
    • NOTE: The coverage outputs will differ from previous versions. This new method uses read filters similar to those in pileup or epiread, which means the coverages will better reflect those seen in downstream analyses.
    • NOTE: Requires QC assets to be bgzipped and tab-indexed.
  • QC.sh
    • Replaces old coverage code with new qc_coverage subcommand (uses default filtering inputs for qc_coverage).
    • NOTE: Requires QC assets to be bgzipped and tab-indexed.
    • Verifies BISCUIT found in PATH environment variable is at least v1.7.0.
    • Added -t|--n-threads option to enable multithreading of qc_coverage.
  • build_biscuit_QC_assets.pl
    • Update to build QC assets with bgzip and tabix.

Bug fixes:

  • Issue #65 fixed. (segfault in QC.sh). Reported by SharknPark.
  • @SQ tags were alphabetically sorted in SAM header, but sorting was not properly accounted for when writing chromosome names to read entries in SAM file.
  • biscuit qc was incorrectly writing strand report table.

Version 1.6.1

15 Apr 19:03

Choose a tag to compare

Beginning with Version 1.4.0, BISCUIT no longer needs submodules. Therefore, the GitHub-generated Source code (zip) and Source code (tar.gz) links may contain all necessary files. If preferred, release-source.zip is guaranteed to contain all BISCUIT source files.

Important Note: This version is not backwards compatible with BISCUIT Version 0.3.16 and earlier.

Date Created:

  • 15 April 2025

General changes:

  • Copyright years updated.

Bug fixes:

  • Issue #61 fixed. (biscuit bsconv and biscuit bsstrand wouldn't output @PG tag in SAM header). Reported by njspix.
  • Issue #64 fixed (biscuit pileup couldn't handle more than 256 input BAMs, meth_average file would output NaN values, meth_average file used full filename for sample name). Reported by rseraphin.

Version 1.6.0

16 Dec 17:17

Choose a tag to compare

Beginning with Version 1.4.0, BISCUIT no longer needs submodules. Therefore, the GitHub-generated Source code (zip) and Source code (tar.gz) links may contain all necessary files. If preferred, release-source.zip is guaranteed to contain all BISCUIT source files.

Important Note: This version is not backwards compatible with BISCUIT Version 0.3.16 and earlier.

Date Created:

  • 16 December 2024

Changes affecting specific subcommands/scripts:

  • bsconv: Added -x option for maximum CpY retention in read. PR #53 and #54 from njspix.
  • vcf2bed: Changed default for the -t option from 3 to 1.
    • The original default (3) was set before the explosion of single-cell protocols. With the more single-cell data being processed, the default has been loosened to 1 to catch all locations covered by at least 1 read.

Version 1.5.0

06 May 15:24

Choose a tag to compare

Beginning with Version 1.4.0, BISCUIT no longer needs submodules. Therefore, the GitHub-generated Source code (zip) and Source code (tar.gz) links may contain all necessary files. If preferred, release-source.zip is guaranteed to contain all BISCUIT source files.

Important Note: This version is not backwards compatible with BISCUIT Version 0.3.16 and earlier.

Date Created:

  • 6 May 2024

General changes:

  • Add citation to README.

Changes affecting specific subcommands/scripts:

  • Added extended CIGAR operations (= and X) for pileup and epiread.
  • epiread:
    • Added ability to work with modification SAM tags (MM/ML) with the -M flag and the -y FLOAT option, which adjusts the minimum probability that a modification is correct.
    • Updated the -L option from using hard coded read lengths to now accept an integer input (-L INT) specifying the maximum read length.
    • Added error messages when reads longer than the specified max length are found.

Bug Fixes:

  • Issue #49 and #51 fixed (biscuit epiread wouldn't accept gzipped or bgzipped SNP BED files). Reported by njspix and fei0810.
  • Issue #50 fixed (NM tag was being incorrectly set for C>T conversions on OB/CTOB reads). Reported by njspix.
  • Add warning message and skip processing read when a negative start position is found when creating epiBED files.

Version 1.4.0

08 Jan 18:19

Choose a tag to compare

Beginning with Version 1.4.0, BISCUIT no longer needs submodules. Therefore, the GitHub-generated Source code (zip) and Source code (tar.gz) links may contain all necessary files. If preferred, release-source.zip is guaranteed to contain all BISCUIT source files.

Important Note: This version is not backwards compatible with BISCUIT Version 0.3.16 and earlier.

Date Created:

  • 8 January 2024

General changes:

  • Moved to CMake-based build system
    • CMake (min. version 3.21) must be installed to build BISCUIT
    • See documentation for more details about building with CMake
  • Removed submodule dependencies
    • Libraries that previously were submodules are now downloaded and built via CMake build process
    • --recursive option no longer necessary for cloning BISCUIT
  • klib has been removed as a full dependency
    • Specific klib utilities necessary for build are available either in lib/aln or htslib
  • Updated to htslib version 1.18
  • Release process has now been partially automated

New subcommand:

  • help: Same as just running biscuit, but allows for a clear entry point to BISCUIT's usage

Changes affecting specific subcommands/scripts:

  • bc:
    • Cell barcode and artificial UMI now output to read name (name_barcode_umi) for UMI-tools compatibility
    • Cell barcode no longer output to read comment
  • align:
    • memchain.c B-Tree traversal method updated
    • -9 option extracts both cell barcode and UMI from read name (previously only the cell barcode from the read comment) for UMI-tools compatibility
  • pileup: (and others)
    • Decoupled pileup source code from other subcommands

Bug Fixes:

  • Fixed memory leak in biscuit epiread
  • Corrected version info in biscuit version
  • Check if output SAM file can be written to in biscuit bsconv
  • Typo in --keep-tmp-files option of QC.sh. Fixed by kew24 (PR #46).

Version 1.3.0

27 Oct 14:27

Choose a tag to compare

Source code (zip) and Source code (tar.gz) are generated by GitHub and may not contain all required submodules. Use these at your own risk! It is suggested to use the release-source.zip if downloading the source code.

Important Note: This version is not backwards compatible with BISCUIT Version 0.3.16 and earlier.

Date Created:

  • 27 October 2023

General changes:

  • Clean up Makefile

New subcommand:

  • bc: Extracts cell barcode from reads. Useful for single-cell experiments that utilize cell barcodes.
    • For usage, run biscuit bc -h

Changes affecting specific subcommands/scripts:

  • align:
    • FASTA/FASTQ read comments are now appended to read name when retained (biscuit align -C)
    • Add -9 option for extracting barcodes from read comment and placing in CR SAM tag.
  • vcf2bed:
    • Add -c option to create Bismark .cov-like format (i.e., Beta-M-U columns)
  • mergecg:
    • Add -c option to create Bismark .cov-like format (i.e., Beta-M-U columns)

Bug Fixes:

  • Issue #38 fixed (unhelpful error message when FASTQ cannot be found). Reported by KChadwick78.
  • Issue #41 fixed (SAM header not output to stdout). Reported by njspix.
  • cinread workaround for long reads. Now only looks at the first 300 bases.
  • Fix divide by zero error in QC.sh.
  • Fix issue in mergecg when CG is at the end of the chromosome.
  • Resolve segfault when passing empty SNP BED file to epiread.
  • Fix sign error when calculating insert size distribution bounds.
  • Fix incorrect formatting of bsstrand table output.

Version 1.2.1

01 Jun 15:10

Choose a tag to compare

Source code (zip) and Source code (tar.gz) are generated by GitHub and may not contain all required submodules. Use these at your own risk! It is suggested to use the release-source.zip if downloading the source code.

Important Note: This version is not backwards compatible with BISCUIT Version 0.3.16 and earlier.

Date Created:

  • 1 June 2023

General changes:

  • GitHub workflows setup.
  • Travis CI removed.

Changes affecting specific subcommands/scripts:

  • QC.sh:
    • Remove GNU parallel dependency (courtesy of Nick Semenkovich, PR #33).
    • Set LC_ALL=C globally (courtesy of Nick Semenkovich, PR #34)
  • epiread:
    • Option to include secondary reads in processing was hidden.

Bug Fixes:

  • Issue #37 fixed (incorrect MD tag). Reported by Nick Semenkovich.

Version 1.2.0

30 Jan 17:09

Choose a tag to compare

Source code (zip) and Source code (tar.gz) are generated by GitHub and may not contain all required submodules. Use these at your own risk! It is suggested to use the release-source.zip if downloading the source code.

Important Note: This version is not backwards compatible with BISCUIT Version 0.3.16 and earlier.

Date Created:

  • 30 January 2023

General changes:

  • Copyright years updated.

Changes affecting specific subcommands/scripts:

  • align:
    • MC (mate CIGAR) and MQ (mate quality) SAM auxiliary tags added to alignment output
  • pileup:
    • Read 1 and Read 2 overlap is now determined by the MC tag. If MC tag is missing, read lengths are assumed to be the same.
  • epiread:
    • Read 1 and Read 2 overlap is now determined by the MC tag. If MC tag is missing, read lengths are assumed to be the same.
    • Print statement for filtered epiBED lines (only F/x/P entries) is now behind the verbose (-v) flag.
    • epiBED and pileup output now match when using an unfiltered BISCUIT SNP BED as input (-B option) to biscuit epiread.
      • BISCUIT SNP BED file must be used in order to account for when methylation could be called in the case of an ambiguous C>T or G>A SNP. If not used, methylation levels might not match up between pileup and epiread.
      • Important note: The epiBED file required an overhaul to align the pileup and epiread output:
        • There are now always nine columns: 1) chromosome, 2) start, 3) end, 4) read name, 5) read number, 6) bisulfite strand, 7) CpG methylation RLE string, 8) GpC methylation RLE string ("." if BS-seq), and 9) short structural variants (SNPs/indels) RLE string.
        • SNPs/indels follow the same conventions as before in the variant RLE string. For the CpG and GpC RLE strings, "I" is used for insertions, "d" for deletions, and "x" for SNPs with no methylation status.
        • All methylation now occurs in the position it is found in the reference. Previously, methylation always was situated relative to the C position in the CG. Now, methylation will be noted at the C position for OT/CTOT (bisulfite strand +) and the G position for OB/CTOB (bisulfite strand -). This lines up with how methylation is accounted for in pileup.
      • Special thanks to the Brendel group at Indiana University for bringing up the difference between the epiBED results and pileup and providing additional testing.
    • Results for the old epiread format (-O) and the pairwise format (-P) remain the same as before. Therefore, results matching pileup are not guaranteed. These formats remain for legacy analyses and it is suggested that analyses move to the epiBED format.

Bug Fixes:

  • Issue #26 fixed (incorrect number of degrees of freedom in biscuit asm). Reported by Volker Brendel.
  • Issue #28 (segfault when G in a CG is first base of a OB/CTOB read pair). Reported by Volker Brendel.
  • Issue #32 (incorrect number of threads requested for GNU parallel). Reported by Nick Semenkovich. Fixed by Nick Semenkovich.