4.7.1-1 Release Notes

View as Markdown

Highlights:

  • Performance improvements in deepvariant with small model enabled. The small model is now enabled by default, similar to Google DeepVariant.
  • Added Roche SBX mode to pangenome_aware_deepvariant with the new --sbx flag for GPU-accelerated variant calling on Roche SBX-D and SBX-Fast sequencing data.
  • Performance improvements for fq2bam and fq2bam_meth. Added optional support for processing reads up to 1024 bp on GPU.
  • Performance improvements for single-end alignment with giraffe.
  • Added support for reading CRAM v3.1 files.
  • Updated version of minimap2 to v2.31.
  • GPU-accelerated chaining in minimap2 with the new --chaining-on-gpu flag.

Improvements

All tools that rely on Parabricks GPU-accelerated sort now have improved error handling. Running pbrun <tool> --help or pbrun <tool> -h now works without GPUs visible.

Tool Updates

deepvariant, deepvariant_germline, pacbio_germline, and ont_germline:

  • Improved performance with the small model across WGS, PacBio, and ONT modes.
  • The small model is now enabled by default. Use --disable-small-model to disable it.

pangenome_aware_deepvariant:

  • Added Roche SBX mode with --sbx for GPU-accelerated variant calling on Roche SBX-D and SBX-Fast short-read data.

giraffe:

  • Improved performance of the GPU seed-extension (GBWT) stage.
  • Improved performance when producing final read alignments.
  • Improved performance of the GPU Dozeu alignment kernel.
  • Improved initialization time for single-end alignment.
  • Moved minimizer payload decoding to the GPU, reducing CPU load.
  • Additional performance improvements and reduced host-side memory usage during alignment.

minimap2:

  • Updated version of minimap2 to v2.31.
  • Added --chaining-on-gpu flag to use GPUs to accelerate chaining, a compute-intensive step in minimap2 alignment, reducing CPU load.
  • Improved performance of GPU-accelerated spliced alignment.

fq2bam and fq2bam_meth:

  • Improved performance for both single-end and paired-end alignment.
  • Added partition mode (--run-partition), which runs one process per partition to more efficiently split work across multiple GPUs. The --bwa-gpu-num-per-partition option controls the number of GPUs each partition drives (default: 2).
  • Increased the maximum read size supported for processing on GPU to 1024 bp. The maximum read size to process on GPU can be controlled via --max-read-size-gpu, where valid values are 512 or 1024 bp and the default remains 512 bp. In either mode, larger reads will continue to go to CPU recovery.

fq2bam_meth:

  • Updated the default CPU threading configuration to values that are more optimal for end-to-end runtime: --bwa-primary-cpus now defaults to 16 * <number of GPUs> and --bwa-cpu-thread-pool now defaults to 1. Both options can still be set manually to override the defaults.

rna_fq2bam:

  • Performance improvement through code optimization.
  • Added throughput metrics.

haplotypecaller and mutectcaller:

  • Added multi-stream support with the --num-streams-per-gpu option, which controls the number of streams to use per GPU (default: 1).

bamsort, deepsomatic, deepvariant, haplotypecaller, minimap2, mutectcaller, and pangenome_aware_deepvariant:

  • Added support for reading CRAM v3.1 file.

Bug Fixes

deepvariant, deepsomatic, and pangenome_aware_deepvariant:

  • Updated the logic used to determine valid mapped mates for a read, now mirroring Google DeepVariant.
  • Added a better error message when header information is missing in the supplied input sample.
  • Fixed a bug causing print statements to appear in incorrect order.

pangenome_aware_deepvariant:

  • Properly parse user-supplied pangenome sample and pangenome reference names.

deepvariant, deepsomatic, pangenome_aware_deepvariant, haplotypecaller and mutectcaller:

  • Fixed invalid .tbi index generation in certain edge cases.
  • Fixed an issue where a .tbi index could appear older than its corresponding data file.
  • Fixed a BGZF writer crash during vcf.gz writing on records larger than 64 KB.

haplotypecaller and mutectcaller:

  • Fixed a potential race condition and also ensure bit-identical results across architectures.

mutectcaller:

  • Fixed an incorrect error message for invalid tumor/normal sample names.

giraffe:

  • Fixed a possible crash when processing batches that contain only short reads (below 29 bp) that produce no minimizers.
  • Fixed two potential out-of-bounds writes in the Dozeu alignment kernel.

fq2bam and fq2bam_meth:

  • Fixed several GPU alignment edge cases involving empty chains, short-seed scoring, large-read scratch data, and reads with many seeds.
  • Fixed paired-end long-read CPU recovery mode to allow reads longer than --max-read-size-gpu to be processed on CPU.
  • Fixed a case that could result in a crash if all reads in a batch were below BWA-MEM’s minimum seed length, which by default is 19 bp.

minimap2:

  • Fixed an out of bounds access caused by reads that skipped alignment in the splice:sr preset.
  • Fixed a bug that could cause junction values to not be used in splice-aware alignments.

fq2bam, fq2bam_meth, minimap2, rna_fq2bam, bamsort, and associated pipelines:

  • Fixed a bug in the GPU CRAM writer that caused samtools index to fail on the GPU generated CRAM file.

For further information refer to the Parabricks datasheet.