lh3 / miniasm

Ultrafast de novo assembly for long noisy reads (though having no consensus step)
MIT License
303 stars 68 forks source link

Can miniasm be used for contigs #75

Open SilasK opened 4 years ago

SilasK commented 4 years ago

I like to combine different metagenome-assembled genomes (contigs) into one.

I tried to use miniasmwith:

cat all_genomes/*.fasta > x.fasta

minimap2 -x asm10 -t4 x.fasta x.fasta | gzip -1 > x.paf.gz
miniasm -i 0.9 -o 200 -c 1 -f x.fasta x.paf.gz > x.gfa

The gfa file is empty and I get the following log.

[M::main] ===> Step 1: reading read mappings <===
[M::ma_hit_read::0.416*1.00] read 398828 hits; stored 575002 hits and 9518 sequences (312118248 bp)
[M::main] ===> Step 2: 1-pass (crude) read selection <===
[M::ma_hit_sub::0.497*1.00] 7429 query sequences remain after sub
[M::ma_hit_cut::0.505*1.00] 569351 hits remain after cut
[M::ma_hit_flt::0.511*1.00] 563681 hits remain after filtering; crude coverage after filtering: 56.25
[M::main] ===> Step 3: 2-pass (fine) read selection <===
[M::ma_hit_sub::0.532*1.00] 7400 query sequences remain after sub
[M::ma_hit_cut::0.542*1.00] 561656 hits remain after cut
[M::ma_hit_contained::0.551*1.00] 0 sequences and 0 hits remain after containment removal
[M::main] ===> Step 4: graph cleaning <===
[M::ma_sg_gen] read 0 arcs
[M::main] ===> Step 4.1: transitive reduction <===
[M::asg_arc_del_trans] transitively reduced 0 arcs
[M::main] ===> Step 4.2: initial tip cutting and bubble popping <===
[M::asg_cut_tip] cut 0 tips
[M::asg_arc_del_multi] removed 0 multi-arcs
[M::asg_arc_del_asymm] removed 0 asymmetric arcs
[M::asg_pop_bubble] popped 0 bubbles and trimmed 0 tips
[M::main] ===> Step 4.3: cutting short overlaps (3 rounds in total) <===
[M::asg_arc_del_short] removed 0 short overlaps
[M::asg_arc_del_short] removed 0 short overlaps
[M::asg_arc_del_short] removed 0 short overlaps
[M::main] ===> Step 4.4: removing short internal sequences and bi-loops <===
[M::asg_cut_internal] cut 0 internal sequences
[M::asg_cut_biloop] cut 0 small bi-loops
[M::asg_cut_tip] cut 0 tips
[M::asg_pop_bubble] popped 0 bubbles and trimmed 0 tips
[M::main] ===> Step 4.5: aggressively cutting short overlaps <===
[M::asg_arc_del_short] removed 0 short overlaps
[M::main] ===> Step 5: generating unitigs <===
[M::main] Version: 0.3-r179
[M::main] CMD: miniasm -i 0.9 -o 200 -c 1 -f x.fasta x.paf.gz
[M::main] Real time: 0.965 sec; CPU: 0.964 sec
lh3 commented 4 years ago

Miniasm is designed for reads. It filters out reads with low coverage. You can see all input sequences are dropped at step 4. You may try to add option -1 -2 (or just -2). I don't know if that helps, though.