• Pages
  • Jit
  • Run miniasm assembler on nanopore reads !

Run miniasm assembler on nanopore reads !

Miniasm is a very fast OLC-based de novo assembler for noisy long reads. It takes all-vs-all read self-mappings (typically by minimap) as input and outputs an assembly graph in the GFA format. Different from mainstream assemblers, miniasm does not have a consensus step. It simply concatenates pieces of read sequences to generate the final unitig sequences. Thus the per-base error rate is similar to the raw input reads.

Find the detail of the reads repeats:

fq2fa ONT_A.fastq ONT_A.fasta 

minimap2 -xava-ont ONT_A.fasta ONT_A.fasta -t10 -X > AONT.paf 

awk '{if($1==$6){print}}' AONT.paf > AONTself.paf 

awk '$5=="-"' AONTself.paf | awk '{print $1}'| sort|uniq > invertedrepeat.list

Generated a few palindrome and repeats plots (highlighting only repeats largest than 10, 20 and 30 kb)

minidot -f 5 -m 30000 AONTself.paf > AONTself30000.eps 
sed 's/_template_pass_FAH31515//' AONTself30000.eps > AONTself30000final.eps 

minidot -f 5 -m 20000 AONTself.paf > AONTself20000.eps 
sed 's/_template_pass_FAH31515//' AONTself20000.eps > AONTself20000final.eps 

minidot -f 5 -m 10000 AONTself.paf > AONTself10000.eps 
sed 's/_template_pass_FAH31515//' AONTself10000.eps > AONTself10000final.eps 

Assemble with miniasm:

miniasm -f ONT_A.fasta AONT.paf > AONT.gfa 

grep '^S' AONT.gfa |awk '{print ">"$2"\n"$3}' > AONT_miniasm.fasta 

minimap2 -xasm10 AONT_miniasm.fasta AONT_miniasm.fasta -t1 -X > AONT_miniasm.paf 

awk '{if($1==$6){print}}' AONT_miniasm.paf > AONT_miniasm_self.paf 

minidot -f 5 -m 10000 AONT_miniasm_self.paf > AONT_miniasm_self10000.eps 

Njoy the assembly !