LooseLab / readfish

CLI tool for flexible and fast adaptive sampling on ONT sequencers
https://looselab.github.io/readfish/
GNU General Public License v3.0
167 stars 31 forks source link

Optimizing breaktimes #212

Closed ash-kh closed 1 year ago

ash-kh commented 1 year ago

Hi,

I'm optimizing readfish on a pretty decent PC and getting relatively long break times.


2022-09-19 04:21:17,095 ru.ru_gen 95R/0.39348s
2022-09-19 04:21:17,470 ru.ru_gen 53R/0.36718s
2022-09-19 04:21:17,850 ru.ru_gen 38R/0.34653s
2022-09-19 04:21:18,275 ru.ru_gen 71R/0.37153s
2022-09-19 04:21:18,672 ru.ru_gen 84R/0.36746s
2022-09-19 04:21:19,047 ru.ru_gen 53R/0.34211s
2022-09-19 04:21:19,464 ru.ru_gen 43R/0.35863s

I do get enrichment in the fastq files but would like to reduce the times if possible.

guppy basecaller settings: guppy_basecall_server --log_path /ssd/NanoPore_Seq_Folder/logs/guppy --config dna_r9.4.1_450bps_fast.cfg --num_callers 12 --chunks_per_caller 1000 --gpu_runners_per_device 16 --config dna_r9.4.1_450bps_fast.cfg --port /tmp/.guppy/5555 --ipc_threads 3 -x cuda:all

PC specs:


Nvidia 3080Ti 12GB
64GB RAM
1TB SSD
Core i7-12700KF

The Readfish config I use is:

 git+https://github.com/nanoporetech/read_until_api@v3.0.0
    - ont-pyguppy-client-lib==6.2.11
    - git+https://github.com/LooseLab/readfish@issue187
    - git+https://github.com/nanoporetech/minknow_api@5.0.2
ash-kh commented 1 year ago

Hi, would really appreciate any info you may have.

mattloose commented 1 year ago

HI,

Sorry for the lack of a reply.

As long as you are processing your read batches in less than 0.4 seconds (which you are above...) then further speed up isn't going to have much impact on your performance overall. Read data is grabbed in batches of 0.4 seconds (if you are following our advice on MinION) or 1 second on PromethION. You will fall behind if your data takes longer than that to process.

Your best option here is to tune your guppy settings - see this helpful post for one way to do that: https://github.com/sirselim/guppy_parameter_optimiser/blob/main/guppy_param_optimise.sh

You may see further benefits with more optimisation but I'm not necessarily convinced they will be significant.

Happy tweaking!