a-ludi / dentist

Close assembly gaps using long-reads at high accuracy.
https://a-ludi.github.io/dentist/
MIT License
47 stars 6 forks source link

example failing due to computeintrinsicqv #32

Closed schraderL closed 2 years ago

schraderL commented 2 years ago

Hi! I am running the Dentist v3.0.0 on our cluster and the md5check fails on the example. I think there is again an issue with computeintrisicqv. Can you spot what's going on?

Here's the first exitStatus != 0 from process.1.log:

{"thread":47412916968384,
"logLevel":"diagnostic","
state":"post",
"command":
["computeintrinsicqv","-d19","/tmp/slurm_schradel.11559699/dentist-processPileUps-F2nX6W/pileup-52b-53f.db","/tmp/slurm_schradel.11559699/dentist-processPileUps-F2nX6W/pileup-52b-53f.pileup-52b-53f-filtered-chained-filtered.las"],
"output":["[V] processing /tmp/slurm_schradel.11559699/dentist-processPileUps-F2nX6W/pileup-52b-53f.pileup-52b-53f-filtered-chained-filtered.las",
"DatabaseFile::getTrimmedBlockInterval(): invalid block id 11559699","","/home/s/schradel/software/dentist.v3.0.0.x86_64/bin/computeintrinsicqv(+0x637f9)[0x563c2f02c7f9]","/home/s/schradel/software/dentist.v3.0.0.x86_64/bin/computeintrinsicqv(+0x5b42c)[0x563c2f02442c]","/home/s/schradel/software/dentist.v3.0.0.x86_64/bin/computeintrinsicqv(+0x16f24)[0x563c2efdff24]","/home/s/schradel/software/dentist.v3.0.0.x86_64/bin/computeintrinsicqv(+0x11ffd)[0x563c2efdaffd]","/lib64/libc.so.6(__libc_start_main+0xf5)[0x2b465d0e6555]","/home/s/schradel/software/dentist.v3.0.0.x86_64/bin/computeintrinsicqv(+0x15479)[0x563c2efde479]",""],
"exitStatus":1,
"timestamp":637889081198764946,
"action":"execute",
"type":"command"}

Here's the output of the md5check:

gap-closed.closed-gaps.bed: FAILED
gap-closed.fasta: FAILED
workdir/.reference.bps: OK
workdir/.reference.dentist-reads-H.anno: FAILED
workdir/.reference.dentist-reads-H.data: FAILED
workdir/.reference.dentist-reads.anno: OK
workdir/.reference.dentist-reads.data: OK
workdir/.reference.dentist-self-H.anno: FAILED
workdir/.reference.dentist-self-H.data: FAILED
workdir/.reference.dentist-self.anno: OK
workdir/.reference.dentist-self.data: OK
workdir/.reference.dust.anno: OK
workdir/.reference.dust.data: OK
workdir/.reference.hdr: OK
workdir/.reference.idx: OK
workdir/.reference.tan-H.anno: FAILED
workdir/.reference.tan-H.data: FAILED
workdir/.reference.tan.anno: OK
workdir/.reference.tan.data: OK
workdir/.gap-closed-preliminary.bps: FAILED
workdir/.gap-closed-preliminary.closed-gaps.anno: FAILED
workdir/.gap-closed-preliminary.closed-gaps.data: FAILED
workdir/.gap-closed-preliminary.dentist-self.anno: FAILED
workdir/.gap-closed-preliminary.dentist-self.data: FAILED
workdir/.gap-closed-preliminary.dentist-weak-coverage.anno: FAILED
workdir/.gap-closed-preliminary.dentist-weak-coverage.data: OK
workdir/.gap-closed-preliminary.dust.anno: FAILED
workdir/.gap-closed-preliminary.dust.data: FAILED
workdir/.gap-closed-preliminary.hdr: OK
workdir/.gap-closed-preliminary.idx: FAILED
workdir/.gap-closed-preliminary.tan.anno: FAILED
workdir/.gap-closed-preliminary.tan.data: FAILED
workdir/.reads.bps: OK
workdir/.reads.dentist-reads-10B.anno: OK
workdir/.reads.dentist-reads-10B.data: OK
workdir/.reads.dentist-reads-11B.anno: OK
workdir/.reads.dentist-reads-11B.data: OK
workdir/.reads.dentist-reads-12B.anno: OK
workdir/.reads.dentist-reads-12B.data: OK
workdir/.reads.dentist-reads-1B.anno: OK
workdir/.reads.dentist-reads-1B.data: OK
workdir/.reads.dentist-reads-2B.anno: OK
workdir/.reads.dentist-reads-2B.data: OK
workdir/.reads.dentist-reads-3B.anno: OK
workdir/.reads.dentist-reads-3B.data: OK
workdir/.reads.dentist-reads-4B.anno: OK
workdir/.reads.dentist-reads-4B.data: OK
workdir/.reads.dentist-reads-5B.anno: OK
workdir/.reads.dentist-reads-5B.data: OK
workdir/.reads.dentist-reads-6B.anno: OK
workdir/.reads.dentist-reads-6B.data: OK
workdir/.reads.dentist-reads-7B.anno: OK
workdir/.reads.dentist-reads-7B.data: OK
workdir/.reads.dentist-reads-8B.anno: OK
workdir/.reads.dentist-reads-8B.data: OK
workdir/.reads.dentist-reads-9B.anno: OK
workdir/.reads.dentist-reads-9B.data: OK
workdir/.reads.dentist-self-10B.anno: OK
workdir/.reads.dentist-self-10B.data: OK
workdir/.reads.dentist-self-11B.anno: OK
workdir/.reads.dentist-self-11B.data: OK
workdir/.reads.dentist-self-12B.anno: OK
workdir/.reads.dentist-self-12B.data: OK
workdir/.reads.dentist-self-1B.anno: OK
workdir/.reads.dentist-self-1B.data: OK
workdir/.reads.dentist-self-2B.anno: OK
workdir/.reads.dentist-self-2B.data: OK
workdir/.reads.dentist-self-3B.anno: OK
workdir/.reads.dentist-self-3B.data: OK
workdir/.reads.dentist-self-4B.anno: OK
workdir/.reads.dentist-self-4B.data: OK
workdir/.reads.dentist-self-5B.anno: OK
workdir/.reads.dentist-self-5B.data: OK
workdir/.reads.dentist-self-6B.anno: OK
workdir/.reads.dentist-self-6B.data: OK
workdir/.reads.dentist-self-7B.anno: OK
workdir/.reads.dentist-self-7B.data: OK
workdir/.reads.dentist-self-8B.anno: OK
workdir/.reads.dentist-self-8B.data: OK
workdir/.reads.dentist-self-9B.anno: OK
workdir/.reads.dentist-self-9B.data: OK
workdir/.reads.idx: OK
workdir/.reads.tan-10B.anno: OK
workdir/.reads.tan-10B.data: OK
workdir/.reads.tan-11B.anno: OK
workdir/.reads.tan-11B.data: OK
workdir/.reads.tan-12B.anno: OK
workdir/.reads.tan-12B.data: OK
workdir/.reads.tan-1B.anno: OK
workdir/.reads.tan-1B.data: OK
workdir/.reads.tan-2B.anno: OK
workdir/.reads.tan-2B.data: OK
workdir/.reads.tan-3B.anno: OK
workdir/.reads.tan-3B.data: OK
workdir/.reads.tan-4B.anno: OK
workdir/.reads.tan-4B.data: OK
workdir/.reads.tan-5B.anno: OK
workdir/.reads.tan-5B.data: OK
workdir/.reads.tan-6B.anno: OK
workdir/.reads.tan-6B.data: OK
workdir/.reads.tan-7B.anno: OK
workdir/.reads.tan-7B.data: OK
workdir/.reads.tan-8B.anno: OK
workdir/.reads.tan-8B.data: OK
workdir/.reads.tan-9B.anno: OK
workdir/.reads.tan-9B.data: OK
workdir/reference.dam: OK
workdir/gap-closed-preliminary.dam: FAILED
workdir/gap-closed-preliminary.fasta: FAILED
workdir/reads.db: OK
workdir/validation-report.json: OK
reference.fasta: OK
reads.fasta: OK
md5sum: WARNING: 21 computed checksums did NOT match

I am running this on centos

LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.9.2009 (Core)
Release:    7.9.2009
Codename:   Core
a-ludi commented 2 years ago

Hi! Yes, the problem is the dot in /tmp/slurm_schradel.11559699/dentist-processPileUps-F2nX6W/pileup-52b-53f.db just after slurm_schradel. I have never encountered this but apparently there is a bug in libmaus2 that misinterprets this dot as a separator between the DB name and block ID.

The easiest solution is to remove the dot from your $TMPDIR variable – replace it with e.g. -.

schraderL commented 2 years ago

Awesome! Thank you for this quick solution! I can't change the directory name but running dentist as TMPDIR="/scratch/tmp/schradel/tmp/" nakemake --configfile=snakemake.yml --cores=20 worked well!

a-ludi commented 2 years ago

That was exactly what I intended. Glad it worked!