nanoporetech / megalodon

Megalodon is a research command line tool to extract high accuracy modified base and sequence variant calls from raw nanopore reads by anchoring the information rich basecalling neural network output to a reference genome/transriptome.
Other
197 stars 30 forks source link

Megalodon/rerio issue #245

Closed 0Bernhard closed 2 years ago

0Bernhard commented 2 years ago

Hello I am relatively new to bioinformatics and i hope someone can help me figure this out.

I am having an issue with initializing the rerio models in megalodon:

When i run the code below everything works fine as it uses the default model. megalodon ./barcode01/ --outputs basecalls mappings mod_mappings mods --reference J1074.fasta --guppy-server-path /usr/bin/guppy_basecall_server --output-directory ./megalodon3 --devices 0 --processes 40 --overwrite

when i try to load the min_mod -all context rerio file it gives: ERROR: Guppy server initialization failed. megalodon ./barcode01/ --outputs basecalls mappings mod_mappings mods --reference J1074.fasta --guppy-server-path /usr/bin/guppy_basecall_server --output-directory ./megalodon3 --devices 0 --processes 40 --overwrite --guppy-params "-d ./rerio/basecall_models/" --guppy-config res_dna_r941_min_modbases-all-context_v001.cfg

I think i installed everything correctly as guppy can load the rerio file fine guppy_basecaller -i ./barcode01/ -s guppy_trial -d ./rerio/basecall_models/ -c res_dna_r941_min_modbases-all-context_v001.cfg

Can someone point out where i might be going wrong? sorry if this is a trivial question to many of you.

Bernhard

marcus1487 commented 2 years ago

TL;DR convert the --guppy-params "-d ./rerio/basecall_models/" part to the full (not relative as in the pasted command) path to the basecall_models directory.

This is a known issue due to the quoted parameters for the megalodon --guppy-params argument. Since this argument is quoted, the path does not get expanded by bash/unix.

0Bernhard commented 2 years ago

I am really sorry but this has not resolved the issue for me. I have tried copying the file to the same directory as the guppy server path. Guppy works fine with the full file path. However megalodon still throws an error at me.

command: megalodon ./barcode01/ --outputs basecalls mappings mod_mappings mods --reference J1074.fasta --guppy-server-path /usr/bin/guppy_basecall_server --output-directory ./megalodon4 --devices 0 --processes 40 --overwrite --guppy-params "-d /usr/bin/rerio/basecall_models/" --guppy-config res_dna_r941_min_modbases-all-context_v001.cfg

log.txt: [08:48:11] Running Megalodon version 2.4.1 DBG 08:48:11 : Command: """/home/holly/miniconda3/bin/megalodon ./barcode01/ --outputs basecalls mappings mod_mappings mods --reference J1074.fasta --guppy-server-path /usr/bin/guppy_basecall_server --output-directory ./megalodon4 --devices 0 --processes 40 --overwrite --guppy-params -d /usr/bin/rerio/basecall_models/ --guppy-config res_dna_r941_min_modbases-all-context_v001.cfg""" --- MainProcess-MainThread megalodon.py:1793 **** WARNING: "mods" output requested, so "per_read_mods" will be added to outputs. **** [08:48:11] Loading guppy basecalling backend DBG 08:48:11 : Guppy version: "6.0.1" --- MainProcess-MainThread backends.py:939 DBG 08:48:11 : Pyguppy version: "6.0.1" --- MainProcess-MainThread backends.py:940 DBG 08:48:11 : guppy server init command: "/usr/bin/guppy_basecall_server -p auto -l ./megalodon4/guppy_log -c res_dna_r941_min_modbases-all-context_v001.cfg --quiet --post_out -x cuda:0 -d /usr/bin/rerio/basecall_models/" --- MainProcess-MainThread backends.py:1017 DBG 08:48:11 : Found guppy log file: ./megalodon4/guppy_log/guppy_basecall_server_log-2022-02-02_08-48-11.log --- MainProcess-MainThread backends.py:1033


ERROR: Guppy server initialization failed. See guppy logs in [--output-directory] for more details.
    Try running the guppy server initialization command found in log.txt in order to pinpoint the source of this issue.

I am really sorry if this is a trivial question and easy for more experienced users

0Bernhard commented 2 years ago

When i run the command /usr/bin/guppy_basecall_server -p auto -l ./megalodon4/guppy_log -c res_dna_r941_min_modbases-all-context_v001.cfg --quiet --post_out -x cuda:0 -d /usr/bin/rerio/basecall_models/

It gives me following error: [guppy/error] run_server: CUDA error at /builds/ofan/ont_core_cpp/ont_core/barcoding/barcode_cuda.cpp:77: CUDA_ERROR_INVALID_VALUE. Error initialising basecall server using port: ipc://auto. Aborting.

marcus1487 commented 2 years ago

This is a bug in the guppy basecaller backend. The Guppy developers are working on a fix for this.

0Bernhard commented 2 years ago

brilliant thank you very much for all your help with this really appreciate it!

0Bernhard commented 2 years ago

Is there an update when this will be fixed?