Releases: huishenlab/biscuit
Version 1.8.0
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.zipis 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:
Version 1.7.1
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
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
libdeflateduring build process. If found, it will buildhtslibagainstlibdeflateand link it accordingly in BISCUIT.
Changes affecting specific subcommands/scripts:
- align:
@SQtags no longer alphabetically sorted when written to SAM file. The order of entries will match the order of chromosomes in the reference FASTA.@HDline now written to SAM file if one is not provided via the-Hoption.
- qc_coverage:
- New subcommand in BISCUIT.
- Creates coverage outputs similar to those produced via
samtools/bedtools/awkin previousQC.shscript. - 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
pileuporepiread, 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_coveragesubcommand (uses default filtering inputs forqc_coverage). - NOTE: Requires QC assets to be bgzipped and tab-indexed.
- Verifies BISCUIT found in
PATHenvironment variable is at least v1.7.0. - Added
-t|--n-threadsoption to enable multithreading ofqc_coverage.
- Replaces old coverage code with new
build_biscuit_QC_assets.pl- Update to build QC assets with
bgzipandtabix.
- Update to build QC assets with
Bug fixes:
- Issue #65 fixed. (segfault in
QC.sh). Reported by SharknPark. @SQtags were alphabetically sorted in SAM header, but sorting was not properly accounted for when writing chromosome names to read entries in SAM file.biscuit qcwas incorrectly writing strand report table.
Version 1.6.1
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 bsconvandbiscuit bsstrandwouldn't output@PGtag in SAM header). Reported by njspix. - Issue #64 fixed (
biscuit pileupcouldn't handle more than 256 input BAMs,meth_averagefile would output NaN values,meth_averagefile used full filename for sample name). Reported by rseraphin.
Version 1.6.0
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
-xoption for maximum CpY retention in read. PR #53 and #54 from njspix. - vcf2bed: Changed default for the
-toption 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
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 (
=andX) forpileupandepiread. - epiread:
- Added ability to work with modification SAM tags (MM/ML) with the
-Mflag and the-y FLOAToption, which adjusts the minimum probability that a modification is correct. - Updated the
-Loption 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.
- Added ability to work with modification SAM tags (MM/ML) with the
Bug Fixes:
- Issue #49 and #51 fixed (
biscuit epireadwouldn'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
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
--recursiveoption no longer necessary for cloning BISCUIT
klibhas been removed as a full dependency- Specific
klibutilities necessary for build are available either inlib/alnorhtslib
- Specific
- Updated to
htslibversion 1.18 - Release process has now been partially automated
New subcommand:
help: Same as just runningbiscuit, 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
- Cell barcode and artificial UMI now output to read name (
- align:
memchain.cB-Tree traversal method updated-9option 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
pileupsource code from other subcommands
- Decoupled
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-filesoption ofQC.sh. Fixed by kew24 (PR #46).
Version 1.3.0
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
- For usage, run
Changes affecting specific subcommands/scripts:
- align:
- FASTA/FASTQ read comments are now appended to read name when retained (
biscuit align -C) - Add
-9option for extracting barcodes from read comment and placing inCRSAM tag.
- FASTA/FASTQ read comments are now appended to read name when retained (
- vcf2bed:
- Add
-coption to create Bismark.cov-like format (i.e., Beta-M-U columns)
- Add
- mergecg:
- Add
-coption to create Bismark.cov-like format (i.e., Beta-M-U columns)
- Add
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. cinreadworkaround for long reads. Now only looks at the first 300 bases.- Fix divide by zero error in
QC.sh. - Fix issue in
mergecgwhen 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
bsstrandtable output.
Version 1.2.1
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:
- epiread:
- Option to include secondary reads in processing was hidden.
Bug Fixes:
- Issue #37 fixed (incorrect
MDtag). Reported by Nick Semenkovich.
Version 1.2.0
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 (
-Boption) tobiscuit 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
pileupandepiread. - Important note: The epiBED file required an overhaul to align the
pileupandepireadoutput:- 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 inpileup.
- Special thanks to the Brendel group at Indiana University for bringing up the difference between the epiBED results and
pileupand providing additional testing.
- 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
- Results for the old epiread format (
-O) and the pairwise format (-P) remain the same as before. Therefore, results matchingpileupare 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.