MBoemo / DNAscent

Software for detecting regions of BrdU and EdU incorporation in Oxford Nanopore reads.
https://www.boemogroup.org/
GNU General Public License v3.0
22 stars 12 forks source link

DNAscent detect error: terminate called after throwing an instance of 'NegativeLog' #60

Closed kdong2395 closed 1 month ago

kdong2395 commented 1 month ago

Hello,

I received the following error output when running DNAscent detect:

2024-08-23 18:27:06.693299: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /broad/software/free/Linux/redhat_7_x86_64/pkgs/gcc_7.3.0/lib64:/broad/software/free/Linux/redhat_7_x86_64/pkgs/gcc_7.3.0/lib
2024-08-23 18:27:06.693425: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Warning: DNAscent detect may show inaccuracies or high fail rates on short reads (< 1 kb).
Loading DNAscent index... ok.
2024-08-23 18:27:09.053257: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2024-08-23 18:27:09.994244: I tensorflow/core/platform/profile_utils/cpu_utils.cc:112] CPU Frequency: 2100000000 Hz
Importing reference... ok.
Opening bam file... ok.
Scanning bam file...ok.
terminate called after throwing an instance of 'NegativeLog' 7hr11min12sec failed:  8394 14min 36 sec failed:   8092   8sec  failed:   5886   7hr
what(): Negative value passed to natural log function.
Aborted (core dumped)

It appears similar to issue 15 which seems to have been fixed in v3.0.2 but I'm not sure what happened after that. We're unable to downgrade since we are running this on data generated with V10 chemistry.

MBoemo commented 1 month ago

Which version of DNAscent are you using and what options did you specify (particularly minimum length and mapping quality)?

kdong2395 commented 1 month ago

Apologies, the command got cut out of my original post. Here it is below:

DNAscent detect -b Tmet_079_pass_mapped_R_index_filt_header.sorted.bam -r /hg38.chrXYM.fa -i Tmet_079_reads_pass_R.dnascent.index -o Tmet_079_pass_5mCG_5hmCG_mapped_R.dnascent.detect.tsv -t 10 -q 1 -l 500

I am using v4.0.2

MBoemo commented 1 month ago

Thanks - this is almost certainly due to the relatively short length threshold of 500 nt. It still shouldn't bug so I'll take a look, but if you don't actually need a threshold that short then changing it to 1000 or 2000 should fix it in the immediate term.

kdong2395 commented 1 month ago

I ran it with the default threshold of 1000 and also increased it 2000 with no luck:

DNAscent detect -b /seq/epiprod02/avanderleun/dna_met/Nanopore/Tmet_079/run_2/dorado_output/Tmet_079_pass_mapped_R_index_filt_header.sorted.bam -r /seq/epiprod02/jingyi/sharedata/genome/hg38/fasta/hg38.chrXYM.fa -i Tmet_079_reads_pass_R.dnascent.index -o Tmet_079_pass_5mCG_5hmCG_mapped_R.dnascent.detect.tsv -t 8 -q 1 -l 2000
2024-08-29 23:29:22.596832: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /broad/software/free/Linux/redhat_7_x86_64/pkgs/gcc_7.3.0/lib64:/broad/software/free/Linux/redhat_7_x86_64/pkgs/gcc_7.3.0/lib
2024-08-29 23:29:22.597014: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Loading DNAscent index... ok.
2024-08-29 23:29:26.279797: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2024-08-29 23:29:27.229683: I tensorflow/core/platform/profile_utils/cpu_utils.cc:112] CPU Frequency: 2100000000 Hz
Importing reference... ok.
Opening bam file... ok.
Scanning bam file...ok.
terminate called after throwing an instance of 'NegativeLog'hr11min13sec failed:  805
 what(): Negative value passed to natural log function.
Aborted (core dumped)
MBoemo commented 1 month ago

Just to confirm - you're definitely using R10.4.1 pores right?

kdong2395 commented 1 month ago

Yes, that's correct.

MBoemo commented 1 month ago

This can sometimes happen (albeit very rarely) due to a bad signal sample. The rarity of this happening makes it hard to debug, but I've added an extra catch in https://github.com/MBoemo/DNAscent/commit/6c88083f010ee7a968f25ca4ccd4f53dfe460b24. Give that a try and reopen if that doesn't fix it.