Skip to content

HiC usage issue #613 followup -- Makefile dependencies #927

Description

@jbh-cas

I know hifiasm dev activity is on the back burner, and really appreciate all the work so far. It's been invaluable for the community.
Thought it worthwhile to pass this one along after looking into the problems I detailed way back in #613 with the use of HiC reads exiting the program early.

Short answer: always do a make clean before doing a hifiasm make.

A Makefile improvement, if you or a maintainer can get to it, would more consistently add header dependencies so stale .o object files don't linger. But you can't go wrong with make clean.

My #613 issue problem came about because make did not recompile rcut.cpp since its CommandLines.h dependency was not in the Makefile. The enzyme fields were added into asm_opt (ending with enzyme *sec_in) just before extract_iter and thread_num in the struct. This meant that in certain situations asm_opt.thread_num was seen as 0, instead of default of 1 or the -t value, due to the rcut.o incorrect offset for thread_num. This caused a SIGSEGV (error code 139) in cal_clus_sc0 (rcut.cpp:2554), is_set_bits_p((*vis), a[i]).

Several other files that could also be stale: hic.o, horder.o, inter.o, gfa_ut.o, tovlp.o, and gchain_map.o. But once again make clean makes that a non-issue.

best and thanks for hifiasm and all the improvements its brought to long-read genome assembly,

Jim Henderson

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions