Skip to content

Releases: nanoporetech/dorado

v0.4.3

14 Nov 19:41
Compare
Choose a tag to compare

[0.4.3] (14 Nov 2023)

This release of Dorado introduces a new RNA m6A modified base model and initial support for poly(A)/poly(T) tail length estimation. It also introduces duplex performance enhancements and bug fixes to improve the stability of Dorado.

  • 803e3a7 - Add RNA m6A DRACH-context model
  • 0f282cd - Add poly(A)/poly(T) tail length estimation support for RNA and cDNA
  • 54e14ca - Add RNA read splitting
  • 2dc1f03 - Enable RNA adapter trimming
  • 80114c0 - Correctly update CIGAR and POS entries when trimming barcodes
  • 4b2025c - Add documentation for sample sheet support
  • 641cb08 - Reduce host memory footprint for duplex basecalling
  • 7c1c0f0 - Reduce working reads size, in particular for duplex.
  • 831f0a9 - Fix pairing check for split reads in duplex basecalling
  • b630567 - Account for split reads during progress tracking
  • 383fe02 - Update to Koi v0.4.1
  • 873c6b1 - Fix warnings about ONLY_C_LOCAL mismatches in PCH builds
  • 52cbabf - Encapsulate date dependency
  • 8fb8a4d - Disable Cutlass LSTM codepath for 128-wide LSTM layers because this kernel does not work
  • 6a9dad9 - Enable warnings as errors at build time
  • 5aaef31 - Address auto batchsize issues on unified memory Linux systems
  • 92b5a67 - Reduce compilation times
  • 062e3fd - Minor speed improvements to CPU beam search

v0.4.2

30 Oct 09:27
Compare
Choose a tag to compare

[0.4.2] (30 Oct 2023)

This release of Dorado fixes a bug with the CpG-context 5mC/5hmC model calling all contexts and adds beta support for using a barcode alias from a sample sheet.

  • 90a4d01 - Fix motif for 5mCG_5hmCG compatible with dna_r10.4.1_e8.2_400bps_sup@v4.2.0
  • 616b951 - Beta support for sample sheet aliasing

v0.4.1

13 Oct 00:23
Compare
Choose a tag to compare

[0.4.1] (12 Oct 2023)

This release of Dorado fixes a bug with duplex tags and adds functionality to dorado demux.

  • 7fefd5d - Fix missing dx:i:-1 tag for simplex reads with duplex offsprings
  • d532ef1 - Enable dorado debug build in Visual Studio 22
  • eeef757 - Add dorado demux option to demux pre-classified barcoded data

v0.4.0

09 Oct 17:25
Compare
Choose a tag to compare

[0.4.0] (9 Oct 2023)

This release of Dorado introduces barcode demultiplexing, barcode trimming, simplex read splitting, and updated models for calling 6mA and 5mC/5hmC modified bases. Furthermore, it contains improvements to duplex pairing for increased yield, basecalling speed enhancements and reductions to memory consumption, bug fixes, and additional tests for enhanced stability.

  • e836fa4 - New all-context and updated CpG-context 5mC/5hmC models
  • e4aca76 - Handle custom batch sizes that exceed maximum safe batch size
  • ad463ea - Updated all-context 6mA model
  • 21d25a3 - SSL host verification enabled and dorado download HTTPS proxy support improved
  • 8ae95e7 - Enable simplex read splitting
  • 1210607 - Fix mean-qscore calculation with trimming
  • d27666e - Beam search optimisation
  • 46e68c1 - Report the error we get back from httplib if a download fails
  • 89db1e1 - Support ChEBI codes for modified bases
  • 92097ca - Add options to dorado aligner
  • 4cb9862 - Fix Linux ccache usage
  • 692ecd3 - Fixed issues with internal representation of signal during duplex calling
  • 80efe8c - Fix std::logic_error (issue #205)
  • d92547a - Make CUDA kernel profiling to stderr available via --devopts
  • 69bf701 - Refactoring to support further duplex developments
  • 510e2e9 - Verify models when downloaded using dorado download
  • 12476ee - Improve memory usage diagnostics in Metal
  • 3172413 - Fix non-determinism in selecting matrix multiplication sub-routine during basecalling
  • f14b418 - Provide NVIDIA driver version in server API
  • 207871e - Use DORADO_GPU_BUILD rather than !defined(__x86_64__)
  • d16ccbe - Get tests that use CUDA working when ASAN is enabled
  • 41bfb99 - Update duplex pairing heuristics to improve duplex yield
  • 87c2c6e - Change ReadPair to take full ownership of its data, and drop ReadPtr
  • 88aa9f3 - Only use pre-compiled headers if ccache isn't available
  • c04c145 - Bump Koi version to 0.3.9
  • 6b8064d - Separate out data shared by both Duplex and Simplex reads into ReadCommon class
  • 34e9b55 - Flip RNA signal for modified basecalling
  • 636ac83 - CRFModel: Update to use KoiActivation and corresponding Koi host functions
  • cd50a01 - Add parent ID tag (pi:Z:parentid) to split reads so that original read can be inferred
  • 2956bf6 - Add support for barcode trimming
  • 92dee85 - Fix segfault in modified basecalling
  • fe22d21 - Add support for read groups with barcoding
  • 2f69da6 - Allow basecalling from single files rather than a directory
  • c22e46f - Support ambiguous motifs for modified basecalling
  • 882da60 - Refactor to create separate utils lib target
  • b792bba - Enforce const-west style via clang-format
  • 611a4ea - Skip code signing on x64 to prevent crashes
  • a6a1902 - Fix various deficiencies of the iOS htslib build
  • 5ff8034 - Add barcode check for both ends
  • e42b8c8 - Remove mux from pairing cache key to reduce memory consumption by up to 4x
  • 93d052b - Setup signing of executables on macOS
  • a45b97c - Bump RNA004 models to V3.0.1 with corrected scaling
  • 7e152fd - Reinstate ReadFilterNode tests
  • c3e412e - Add duplex commandline test
  • 3ba422b - Don't perform adapter trimming on RNA signals
  • 066b815 - Add barcoding support to Dorado
  • 09cc44f - Add unit test coverage report generation
  • b2e54b8 - Fix typo for 5fC modification
  • 829dba3 - Enforce that values passed to a sink are mutable rvalues
  • 8aa7722 - Remove dependence of dorado_lib on dorado_models_lib
  • cd6d2bf - Extend the lifetime of the NNTasks in the metal backend
  • abed8ee - Bug fixes for iOS build
  • 64b3ae3 - Clarify --min-qscore option in help
  • 225a153 - Further restrict Metal kernel run times to improve stability of basecalling on Apple silicon
  • 3ae95e4 - Refactor modified basecalling code
  • 8ec58f0 - Option for --guard-gpus no longer used in duplex
  • 1f3cade - Add CUDAGuard before cache clear to reduce CUDA memory consumption
  • dae5e30 - Move ModBaseCallerNode to using an unordered_set for working reads, like BasecallerNode
  • b43adfa - Improvements to pipeline API

v0.3.4

14 Aug 20:18
Compare
Choose a tag to compare

[0.3.4] (14 Aug 2023)

This release of Dorado contains a few bug fixes and a hotfix for CUDA out of memory issues encountered during duplex runs with v0.3.3.

  • c5c0ea0 - Introduce pipeline API functions to simplify setup for simplex/duplex basecalling.
  • 9614eba - Fix potential hang in modbase calling node.
  • 67f84a6 - Set the --max-reads default to unlimited for dorado aligner
  • f6a0422 - Fix CUDA OOM in duplex by removing tensor caching in decode and updating memory fraction for stereo model.
  • 107ebba - Account for filtered duplex reads when tagging simplex parents and calculating duplex yield.

v0.3.3

09 Aug 00:26
Compare
Choose a tag to compare

[0.3.3] (8 Aug 2023)

This release of Dorado introduces improvements to Duplex pair identification for improved duplex yields, faster basecalling on A100 and H100, improvements to modified base calling speed on Apple silicon, and major enhancements to the portability of Dorado binaries.

  • 7307146 - Major reduction to required GPU memory, especially for A100/H100. Allows greater batch size and consequently improved basecalling speed
  • 8073364 - Improvements to Duplex pairing algorithm for increased Duplex yield. Situations where complement read is truncated are now handled.
  • 39ffb35 - Report the duplex rate percentage
  • 65b8b8a - Major speed upgrade to modified base calling on Apple silicon devices
  • 481438a - Improve performance of basecalling of Fast model on M silicon by 6% by inlining of function used during decode
  • fe8dbf2 - Improve basecalling stability on Apple silicon by limiting run time of LSTM kernel to avoid CB submission errors
  • 0abea5f - Upgrade dna_r9.4.1_e8 5mCG models to version 0.1 for improved accuracy
  • 752e094 - Upgrade to OpenSSL3
  • 447b559 - Switch to target-based includes CMake builds - Prevents dependent projects from copying all nclude paths and link libs
  • b0d10a9 - Fix edge case where it is possible to spawn no basecaller worker threads
  • 1650b83 - Fix issue with inability to find CUPTI library during compilation on some systems
  • e4ba3e5 - Add missing SA:Z tag to alignments generated by Dorado
  • c5a4cfc - Fix various linker errors
  • bf72fdd - Dorado will error out gracefully if no POD5s are provided
  • bcdeb8f - Improvements to portability of Dorado binaries via use of static linking on macOS and Linux
  • e14a7e6 - Improvements to error handling on Apple Silicon devices (Metal command buffer error handling)
  • ca1d191 - Improvements to read ids for non-split reads
  • 5d9238a - Revamp AsyncQueue interface
  • 6a3ccb6 - Removed RNA003 model which is obsolesced by RNA004
  • 1a94fac - Add summary stats and progress bar for basecalling from Fast5
  • 072ed96 - Add pipeline restart capability and pairing cache retention option to termination
  • 01acbd5 - Stop progress bar cutting out near the end of the run
  • 211968c - Add suppression for false-positive vptr issues in older Xcodes
  • 1e14d2a - Reduce unnecessary startup cost by setting an upper limit on the maximum batchsize to 10,240
  • 09c5b28 - Speed up the fixed cost of auto batchsize detection on mGPU systems by running in parallel

v0.3.2

13 Jul 22:44
Compare
Choose a tag to compare

[0.3.2] (13 Jul 2023)

This release of Dorado introduces basecalling models for the RNA004 chemistry, better identification of duplex read pairs and improved read Q score estimation. It also incorporates various important bug fixes which improve the stability and usability of Dorado.

  • 4ce0cb0 - Add RNA004 models
  • 24b6c4e - Retry basecalling on CUDA OOM after clearing allocator cache
  • 3897ba5 - Add troubleshooting guide to README.md
  • 9d55b44 - Fix bug with resume file header parsing
  • f9289e2 - Improvements to duplex read splitting algorithm for improved accuracy
  • 2869dbc - Solve memory leak during modified base calling
  • 4d8ca17 - Fix race condition which was introducing nondeterministic basecalls
  • ddb6f71 - Fix aligner regressions from pipeline change
  • a57987f - Add R941 v3.3 5mCG 5hmCG models
  • ba40e53 - Refactor of basecalling pipeline management strategy
  • 26be1a0 - Query enabled Apple silicon cores, not all cores
  • 185058e - Replace empty value with "Unknown" in read group tags to satisfy SAM specification
  • d953f33 - Add time ordered reads pair cache strategy to PairingNode to support greater variety of ways to run duplex basecalling
  • d2700dd - Fix to enable Duplex basecalling on CPU. This will be slow but functionally correct.
  • f5ccd0d - Add channel/mux/start_time/start_time_ms to the duplex read
  • 0ee5a9b - Fixes to host OOM issues
  • 2fe609b - Exclude some non-informative bases at read start from mean qscore calculation
  • 3090328 - Fix no output when stdout == stderr and both are the tty
  • 7e70de7 - Add support for compute 6.1 (GTX 1080 Ti) plus handling CUDA failures
  • 995d0fb - Runner creation refactor
  • 9d21036 - Modbase smoke test BLAS fix
  • 30658c4 - Add ScopedAutoReleasePool to prevent autorelease leaks on MacOS
  • cf502e3 - Update sample rate check to allow some tolerance

v0.3.1

26 Jun 18:35
Compare
Choose a tag to compare

[0.3.1] (26 Jun 2023)

This is a minor release of Dorado. It introduces various bug fixes, as well as performance and usability enhancements. Of particular note, this release introduces the ability to resume simplex basecalling if interrupted, adds RNA002 models, improves the speed of modified base calling and duplex calling, and solves an issue whereby Dorado users were experiencing segmentation faults on version of Linux with older glibc.

  • 08218cd - Added --resume-from for simplex basecalling.
  • 790a002 - Mitigate simplex scaling performance regression on mGPU systems.
  • e0c1beb - Turn off all logging if stdout and stderr point to the same file to avoid curruption
  • ae1e5e3 - Support for http proxies in dorado download via dorado_proxy and dorado_proxy_port envvars.
  • a62465c - Added warning if user tries to use duplex with fast model
  • 99f7483 - Improved error reporting on OSX
  • 4f61c18 - Removed source of error related to race-condition
  • b1405ab - Added new RNA002 models with V3 architecture
  • e75e327 - Aligner throws error when reference path does not exist
  • a977916 - Refactor of progress bar and account for filtered reads
  • f162705 - Fix the build when compiling with VS2017
  • 84ecf32 - Update Koi to v0.3.3
  • d6463b3 - Refactor aligner/hts nodes
  • c46a2a3 - Fix segfault on Ubuntu 16.04
  • 2a96f89 - Improve performance of mod base calling by changing encoding format
  • 612ba20 - Node performance stats monitoring
  • dc9ea3b - CRFModel: perform clamp on torch tensors in-place. Use torch::InferenceMode
  • bf18314 - Solve various bugs in duplex pairing algorithm
  • 164ca6e - Add support for running sanitizers as part of CI
  • 379fc21 - Add RG tag to duplex pipeline
  • 68b5b81 - Add missing dependencies for Mac
  • 628722d - Add error checking to pod5 api calls
  • c48ab08 - Progress bar fixes for Windows
  • ce68b55 - Update metal-cpp so we can make use of NS::SharedPtr<>
  • 53aec51 - Update Readme to include roadmap
  • 5ea6705 - Adding smoke tests

v0.3.0

18 May 13:52
Compare
Choose a tag to compare

[0.3.0] (18 May 2023)

This is a major release of Dorado which introuduces: Duplex pairing and splitting for directly going from POD5 to duplex reads, major performance improvements to simplex and duplex basecalling on A100 GPUs via int8 model quantization and the output of aligned BAM from Dorado and support for producing summary tsv files from BAM.

  • ddb7c1e - Improvements to modified basecalling performance
  • f879af5 - Add support for CPU basecalling of modified bases
  • 282a66c - Add duplex pair alignment accuracy check to reduce risk of incorrect matches
  • 3bb0ffc - Add dx:i tag to Dorado output to indicate whether a read is duplex dx:i:1 or simplex dx:i:0
  • 78d6bc4 - Improvements to Duplex calling performance
  • 20972d4 - Added ability to filter reads by read length, default of 5
  • b8ceee4 - Include simplex output in SAM when running duplex basecalling
  • 724bafd - Add dorado summary command which produces a summary.tsv file from a SAM/BAM file
  • da13d36 - Add splitting of live splitting of concatemer reads into duplex pairs
  • 8992e67 - Fix for segfault in older glibc version
  • d1377a0 - Add dna_r9.4.1_e8_sup@v3.6 simplex model
  • 88b547c - Add 5kHz duplex Stereo model and duplex 5kHz support
  • 2660956 - Various CPU performance improvements
  • f4ea664 - All context modbase tags
  • 338911d - Add v4.2 6mA 5mC modbase models
  • 1684168 - Improved support for short read duplex basecalling
  • 6fe6adb - Add verbose logging option for duplex basecalling.
  • a035d7f - Check model sample rate agrees with raw data, add option to skip check
  • 26c1112 - Add ability to perform automatic duplex pairing in dorado.
  • a824a7d - Output uncompressed BAM when dorado output is a pipe.
  • f27d672 - Add CPU to list of devices in help
  • 3329bb5 - Fix Fast5 basecalling
  • 4d91533 - Improvements to reduce possibility of out of memory issues on CUDA devices via a GPU device mutex
  • 14de2e8 - Improvements to progress bar reporting
  • 2095fea - Add alignment and BAM generation to duplex and simplex
  • fef15ae - Improvements to stereo duplex encoding.
  • c6dc187 - Add --reference option to basecalling to allow basecalls to be aligned to a reference.
  • 51ca9e7 - Add v4.2.0 5kHz simplex models
  • 1a215e7 - Reduce CPU load from mean_q_score_from_qstring
  • d3f7320 - Handle empty read-ids file
  • 25e2cd1 - Upgrade to Pod5 v0.1.20
  • 98eb30d - Add Cutlass LSTM kernels for significant performance improvement on A100 GPUs
  • 6aea63a - Reduce CPU load due to trimming
  • 7459371 - Increase per-device ScalerNode thread count
  • 758d0d9 - Minor improvements to RemoraEncoder::encode_kmer
  • b2af21b - Add read filter node to filter reads by Q score, length etc.
  • fb60425 - Reduce stereo duplex CPU load
  • 0bca7d8 - Reduce torch indexing overhead in modified basecalling
  • 4632f05 - Expose k, w comandmline options to dorado aligner
  • d560661 - Improved read trimming
  • 3cd1c80 - Improve performance of reverse_complement calculation
  • 92ef398 - Fix segfault in modified basecalling

v0.2.4

12 Apr 16:28
Compare
Choose a tag to compare

[0.2.4] (12 Apr 2023)

  • 92ef398 - Fix out of bound access when modbase calling