This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Genome assembly reference .fasta + Illumina reads

Hello all,

My goal is to obtain a very clean assembly with as few contigs as possible. For this, I have two fasta files: one that consists of an Illumina de novo assembly fragmented into 70 contigs (this is the one I want to improve), and another reference file in .fasta format that is recircularized into a single contig. My goal is to obtain a better assembly with as few contigs as possible, using the reference genome to align the Illumina reads. I also have the raw Illumina read files in .fastq formats.

What would be the most appropriate approach to get the cleanest possible genome assembly by utilizing the reference?

I tried Ragtag, or bwa/samtools but nothing seems to work the way I want to.

Many thanks for your much appreciated help!

illumina assembly reference

Thank you very much GenoMax for your suggestion! I will try the tool ragout

1 answer

There are generally two approaches to using a reference assembly to help with a new assembly. Both have issues with reference bias.

1) reference guided assembly (which may be what you are suggesting in using the raw illumina reads). This is using the reference as a guide DURING assembly to help with read placement. However, you already have an assembly therefore you may be more interested in just option 2.

2) reference scaffolding This requires a de-novo assembled genome, as you have, and then a tool like ragout/ragtag to align your de-novo assembly to the reference and then just place N's in between contigs if they are adjacent in the reference. These N-joined contigs are now scaffolds. This means you can end up with unaligned/unplaced contigs if material isn't present in your reference.

I think the scaffolding option (2) is probably the safest; only biased by the structure but the bias is visible in the scaffolds. So I'd go with that if I was you.

Can you say why Ragtag doesn't work the way you want?

Thank you samuel.a.odonnell for your much appreciated help!

I followed your advices regarding the reference scaffolding, and used Ragout for alignement to the reference. Many N's were added (+ 75 000 N's), as expected. I then tried Ragtag with the "patch" algorithm to replace these N's, and then a combination of soapdenovo2-gapcloser using Illumina reads, but I still have more than 50 000 N's in the assembly, but I only have 1 scaffold (instead of 70 at the beginning!). I thing the coverage with the Illumina sequencing is a bit short .. Would you suggest I try Circlator next? Or other tools? I am open to your suggestions

Glad it sounds like it improved the assembly!

If you are satisfied with your single scaffold, then yes circlator would help to finalise the scaffold.

I would just check some stats on the assembly (before and after all the post-assembly processing) just to make sure nothing has worsened. As minimising the number of scaffolds is great but not at the cost of content. If you want no reference bias, you can check out some of the tools in PAQman (shameless self promo) that work just with short-reads/no reads (e.g. BUSCO and Merqury). You can also just compare them to the reference to see stats like how many of the reference genome is covered by alignments etc (MUMer4's `dnadiff is an easy way to do so)

Thank you very much samuel.a.odonnell! I used Merqury and dnadiff for assembly check to ensure I did not loose data quality with the post-assembly processing. So overall, the best approach for me was: RagTag (Ragout was not conservative enough), then Sealer (abyss) for gap filling. So in the end, I have 35 contigs (instead of 70 contigs initially) left. I am afraid that I cannot do better without long-reads .. Thanks again for your much appreciated help,

Log in to answer this question.