chhylp123 / hifiasm

Hifiasm: a haplotype-resolved assembler for accurate Hifi reads
MIT License
528 stars 86 forks source link

Process fail - Core dump #495

Open MateusRVidal opened 1 year ago

MateusRVidal commented 1 year ago

Hi!

I am running Hifiasm v0.19.5-r593 with Hifi and ultra long oxford nanopore reads. However, after a few days running the process fail (core dump). I performed a selection of onp reads, using only > 25kb reads and it worked, but when I use > 15kb or all reads it fails with the error message "core dump". It doesn't seem to be lack of RAM memory, because it is using half of the 250 GB of RAM available.

The command line I am using is: hifiasm -o ppr_hifi_onp -l 0 -t 20 --ul op_080_001_A_restart_15k.fastq,op_080_001_B_15k.fastq,op_080_001_B_restart_15k.fastq,op_080_002_15k.fastq,op_080_002_reload_15k.fastq,op_090_001_A_onp_15k.fastq m64204e_220721_084010.hifi_reads.fq m64204e_220513_121629.hifi_reads.fq m64204e_220509_065533.hifi_reads.fq m4204e_220516_100417.hifi_reads.fq

This is the error message:

Reads has been loaded. Loading ma_hit_ts from disk... ma_hit_ts has been read. Loading ma_hit_ts from disk... ma_hit_ts has been read. [M::ha_assemble::204.4730.99] ==> loaded corrected reads and overlaps from disk [M::ha_opt_update_cov_min] updated max_n_chain to 350 [M::ul_load::] ==> UL [M::ha_opt_update_cov] updated max_n_chain to 350 [M::append_inexact_edges] # inserted inexact edges: 3417262 [M::gen_cov_track::] # bases: 13240005288 [M::dedup_HiFis::] # unitigs: 609284, # edges: 5692702, # cc_num: 5542303 [M::uidx_load::0.148] ==> Loaded flt table [M::uidx_load::2.298(index)/22.406(pos)] ==> Loaded pos table [M::uidx_load] Index has been loaded. [M::scall_ul_pipeline::206833.299] ==> Qualification [M::scall_ul_pipeline::] ==> # reads: 2677671, # bases: 0 [M::scall_ul_pipeline::] ==> # fully covered reads: 2137404 [M::write_all_ul_t] Index has been written. [M::print_ovlp_src_bl_stat::] ==> # HiFi reads:6884179, # covered HiFi reads:2456519, # chained HiFi reads:1771508 [M::print_ovlp_src_bl_stat::] ==> # passed UL reads:2677671, # fully corrected UL reads:2036688, # almost fully corrected UL reads:113940, # UL reads have primary chains:286443 [M::ha_opt_update_cov] updated max_n_chain to 350 [M::work_ul_gchains_consensus::] # try:288862, # done:146109 [M::clean_contain_g0::] # discard cread::200461 [M::update_sg_uo::] ==> # gfa reads:1083210, # covered gfa reads:1024600 [M::ul_refine_alignment::] ==> UL refinement... [M::ha_opt_update_cov] updated max_n_chain to 350 [M::gen_cov_track::] # bases: 3623396546 [M::work_ul_gchains::] # try:453296, # done:365322 [M::update_sg_uo::] ==> # gfa reads:1047631, # covered gfa reads:1025806 [M::ha_opt_update_cov] updated max_n_chain to 350 [M::work_ul_gchains_consensus::] # try:1787, # done:899 [M::clean_contain_g0::] # discard cread::294 [M::update_sg_uo::] ==> # gfa reads:1047337, # covered gfa reads:1025637 [M::ul_refine_alignment::] ==> UL refinement... [M::ha_opt_update_cov] updated max_n_chain to 350 [M::gen_cov_track::] # bases: 3534600758 hifiasm: inter.cpp:15977: uint32_t refine_rid_chain(const asg_t, mg_tbuf_t, ul_vec_t, uint64_t): Assertion `ni[1] > ni[0] && ni[0] != (uint32_t)-1 && ni[1] != (uint32_t)-1' failed. /var/spool/slurmd/job39943501/slurm_script: line 13: 3691 Aborted (core dumped) hifiasm -o ppr_hifi_onp -l 0 -t 20 --ul op_080_001_A_restart_15k.fastq,op_080_001_B_15k.fastq,op_080_001_B_restart_15k.fastq,op_080_002_15k.fastq,op_080_002_reload_15k.fastq,op_090_001_A_onp_15k.fastq m64204e_220721_084010.hifi_reads.fq m64204e_220513_121629.hifi_reads.fq m64204e_220509_065533.hifi_reads.fq m4204e_220516_100417.hifi_reads.fq

Looking forward to your reply, thank you!

chhylp123 commented 1 year ago

Could you have a try with current HEAD (r593)? If it still doesn't work, could you please share the bin files with us? Thanks in advance.

MateusRVidal commented 1 year ago

Hi, thank you so much for the quick reply! The version I used was r593, but downloaded on April 26. Do you suggest to try with the version available today even if the version number didn't change?

chhylp123 commented 1 year ago

I see. Could you please share the bin files with us? It should be a small bug and we would be able to fix it soon.

MateusRVidal commented 1 year ago

Sure, I will share it with you through the email in your profile (hcheng@jimmy.harvard.edu), ok?

MateusRVidal commented 1 year ago

Hi! Did you receive the bin files and had a chance to download it? Thanks in advance!

chhylp123 commented 1 year ago

Sorry for the delay. I'm trying to fix it this week and will let you know as soon as possible.

chhylp123 commented 1 year ago

Could you please have a try with the latest release (0.19.6-r595)?

MateusRVidal commented 1 year ago

Hi, thank you so much! I tried with the latest release and it worked!

I am testing the assemblies using diferent sets of Nanopore read lenght to compare, and I have one assembly with the previous release (r593). In this case, do you recomend me to rerun the assembly generated with the previous version (r593)? I mean, were there substantial changes between the r593 and r595 that makes assemblies from different versions not comparable?

Thank you!

chhylp123 commented 1 year ago

It won't have too much differencce. But the new release has --ul-cut to internally filter out short UL reads, which might be helpful for your testing.