CLI tool for flexible and fast adaptive sampling on ONT sequencers
As discussed in #347, due to the move to ont_pybasecall_client_lib
by ONT with the release of Dorado 7.3.9, readfish was unable to connect to the basecall socket, as it was using ont_pyguppy_client_lib
.
This release supports both connections to dorado
7.3.9 and upwards with the dorado
plugin, (which also handles the new parameter sample_rate
on package_reads
smartly) and dorado
< 7.3.9 with the guppy plugin
.
To use the new plugin, simply switch the caller_settings
table in your toml from .guppy
to .dorado
, leaving other parameters the same, like so:
[caller_settings.dorado]
Readfish also now lists a tested MinKNOW version range, and will raise a warning if the MinKNOW version being connected to is outside the range for the given version of readfish. However, readfish will still attempt to run adaptive sampling, and will most likely succeed! As recommended in the logged warning, if a newer version of readfish doesn't exist, we recommend opening an issue on the github.
[!WARNING] The Guppy plugin will likely be deprecated in the next major release of
readfish
.
Full Changelog: https://github.com/LooseLab/readfish/compare/2024.1.0...2024.2.0
--chemistry
flag under the targets
sub command. They both take targets in the same way that the normal target commands do. We currently do not support mixing simplex and duplex targets.
duplex_simple
accepts a read if the previous read seen on the channel was stop receiving and the new read isn't, duplex
checks that the previous reads alignment was on the same contig and opposite strand.
NB. Only duplex_simple
has been tested. #: Potential second half of a duplex read
duplex_override = "duplex_override"
#: Read sequenced as translocated portion was of unknown length at start of readfish
first_read_override = "first_read_override"
.mmi
file--wait-on-ready
actually works, and is an int
, so User can specify to wait for the Sequencing state for as long as they want (default now 120s)--unblock-duration
type to float, and manually specifying it was crashing argparsingFull Changelog: https://github.com/LooseLab/readfish/compare/2023.1.1...2024.1.0
For major new features introduced in refactored readfish, please see https://github.com/LooseLab/readfish/releases/tag/2023.1.0.
grpcio
on Apple Silicon.This release is a complete overhaul of the inner workings of readfish. Fundamentally nothing has changed in the way readfish works, but we have dramatically improved the compatibility with nanopore platforms, as well as supporting more compute systems including Apple Silicon.
This release is compatible with all flavours of PromethION from the lonely p2solo to the gregarious P48. To do this we include a new rust based wrapper for minimap2 which enables multi-threaded mapping. The release also supports GridION and MinION. It is untested on mk1c and we don't recommend using it.
This release is compatible with both guppy and dorado via the ont-pyguppy-client-lib
and so introduces native support for apple silicon.
We also introduce a new readfish stats module which will summarise an experiment given the TOML configuration for readfish and the path to the FASTQs from the run.
The code includes all new documentation - see https://looselab.github.io/readfish - and will prevent users from making many common mistakes.
[!NOTE] Important: The TOML file specification has been modified for this version and users should update their TOML files accordingly.
This includes a description of the new plugin framework, developed by @alexomics , which will enable users to develop their own custom mappers, squiggle analysis packages and other tools and then integrate them into a common readfish environment.
In principle readfish can be used as a library by other packages.
Full information on new features can be found in the readme and associated documentation. All issues should be reported by the GitHub issue tracker and not by email to the authors.
readfish[mappy,guppy]
as default install target by @Adoni5No take backsies (for real)
This release archives the code used in the Nature Biotech readfish paper.
[!IMPORTANT]
The README contains instructions on running this set of code, however many of the tools at the given versions, such asont-pyguppy-client-lib
will no longer work with modern MinKNOW. We recommend you use the most up to date readfish, found here https://github.com/LooseLab/readfish/.
This version of ReadFish contains the updated BossRuns code in response to reviewer comments. ReadFish BossRuns should now be compatible with minknow-core
<=5.1.4 and >= 5.0.0 and Guppy
>= 6.0.0. The command to run readfish bossruns remains the same, however the guppy address and port are now most likely ipc:///tmp/guppy
and 5555
.
This release ran with MinKNOW 21.11.7 and MinKNOW Core 4.5.4 and ONT-Guppy 5.1.13.