marbl / verkko

Telomere-to-telomere assembly of accurate long reads (PacBio HiFi, Oxford Nanopore Duplex, HERRO corrected Oxford Nanopore Simplex) and Oxford Nanopore ultra-long reads.
294 stars 29 forks source link

v 1.4.1: KeyError in untip #212

Closed ghost closed 10 months ago

ghost commented 10 months ago

I encountered the similar error as in issue 162.

UntipRelative
Unitigify 3
Combine mappings
Combine edges
Find lengths
Fix coverage
Pop bubbles based on coverage
Unroll simple loops
Unitigify 3b
Traceback (most recent call last):
  File "/home/data/ycy/mambaforge/envs/verkko/lib/verkko/scripts/unitigify.py", line 103, in <module>
    if edge[1:] not in belongs_to_unitig: start_unitig(edge, unitigs, belongs_to_unitig, edges)
  File "/home/data/ycy/mambaforge/envs/verkko/lib/verkko/scripts/unitigify.py", line 33, in start_unitig
    while len(edges[new_unitig[-1]]) == 1 and getone(edges[new_unitig[-1]])[1:] != new_unitig[-1][1:]:
KeyError: '<utig3a-35201'

I replace the script (unroll_simple_loops.py) and re-run the verkko, but still can't solve the error. And I have uploaded the file (reddeery_5-untip.gz) to the ftp site ( ftp://ftp.cbcb.umd.edu/incoming/sergek) as you suggested. I‘m looking forward to your reply.

skoren commented 10 months ago

Unfortunately I can't re-run your example locally because snakemake removed some of the output files in the folder after the failure and I'd also need 1-buildGraph/hifi_nodecov.csv to run.

Did you grab the latest version of unroll_simple_loops.py from the master branch? There have been some other fixes to it on this branch: https://github.com/marbl/verkko/tree/relax-unique-lower-threshold. Could you grab that version and see if it runs.

ghost commented 10 months ago

Thanks for your reply, I've grab the latest version of unroll_simple_loops.py and the error was solved.