I'm a wet-lab biologist desperately trying to get to grips with some Bioinformatics.

I have some shotgun Illumina paired-end data from a gut microbiome project I'm working on. I'm considering how to go about generating contigs from reads. I've been recommended to use SPAdes which I'm reading up on at the moment.

Originally I was thinking of using FLASh however I was told it might not be suitable for metagenomic data.

My question simply is, what makes certain programs suitable for merging paired-end reads from a genome but not a metagenome? I find myself a little spoilt for choice (eg. FLASh/SPAdes/BBmap... ) with bioinformatics tools I'm always concerned I'm picking the wrong one.

Should I ideally be running my data through a couple of tools and comparing them?

  • $\begingroup$ Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking. $\endgroup$
    – Community Bot
    Jul 1, 2022 at 14:17
  • $\begingroup$ Is the source material metagenomics or culture isolates? $\endgroup$
    – M__
    Jul 1, 2022 at 15:08
  • $\begingroup$ What is the purpose of your project? You have mentioned, "merging paired-end reads", but it's unclear why this would be helpful. If this is for quantifying species or determining proportions, then you'd be better off with a metagenomic mapping tool (e.g. kraken2). $\endgroup$
    – gringer
    Jul 2, 2022 at 4:06

1 Answer 1


NB: "merging PE reads" (such as e.g. FLASH does) is not the same as "sequence assembly from PE reads" (what MetaSPAdes does). The latter generates contigs, the former generates (some) merged shotgun library inserts. I think you want sequence assembly, i.e. a tool like MetaSPAdes.

Don't be tricked by the loose language of "merging" that is sometimes applied to the sequence assembly problem. It is much more complicated than that.

If you want to learn more about sequence assembly, I suggest you read the sequence assembly wikipedia page.

I would probably recommend MegaHit over metaSPAdes, because it requires much less memory / runtime, and lower frequency of errors.

But generally speaking, both programs are building different flavors of de Bruijn Graphs from metagenomic reads to generate contigs/scaffolds. This is the accepted method by this point for Illumina metagenomic data, because it is the method that is capable of handling the amount of small pieces of data in a tractable fashion. Alternatives such as overlap-layout-consensus graphs or string graphs just don't work as well for the metagenomic problem.

You are probably looking for methods that talk about complicated, computationally complex assembly algorithms and graphical methods for summarizing lots of short reads. You are not looking for simple read processing/alignment tools like BBMap/BBTools or FLASH. To reiterate, simple read merging tools will not give you assembled contigs.

  • $\begingroup$ Thank you, this had helped a lot, I'm definitely struggling with some of the subtleties of data processing. My end goal is to do Taxonomic and Functional analysis in MEGAN, but I've been told that it's only designed to use R1 data. I thought I'd attempt to make the most of the sequencing data that I do have to get into a format suitable for MEGAN. Would using MegaHit/metaSPAdes mean I wouldn't have to put my data through DIAMOND ? I'm still very new to this and just making sure I have all the steps correct $\endgroup$
    – dunc4n
    Jul 5, 2022 at 12:05
  • $\begingroup$ I am not sure what you mean by only R1 data. I don't think that assembly will make DIAMOND work any better, though it may be helpful for some MEGAN workflows. For examples of both assembled/raw shotgun data for MEGAN+DIAMOND, I'd suggest this ref: currentprotocols.onlinelibrary.wiley.com/doi/10.1002/cpz1.59 $\endgroup$ Jul 5, 2022 at 19:11
  • $\begingroup$ Thank you, I'm still very much getting to grips with this. I originally did 150 paired-end sequencing on my samples. I think DIAMOND/MEGAN only accepts a single input file (What I meant by only using Read1 data, I wasn't being clear there.) I thought trying to merge overlapping reads would give me longer DNA sequences for Taxonomic binning. $\endgroup$
    – dunc4n
    Jul 6, 2022 at 13:37
  • $\begingroup$ @dunc4n I'll first note as a tip for the future that having this intention stated in your question would make it a lot easier to understand what you need. I suppose that it's formally possible that read merging would improve things slightly, in practice I am not sure that it makes any difference. I would follow the example of the reference that I linked in my earlier comment, or really any other paper that uses DIAMOND and MEGAN, to understand what to do to preprocess data for those tools. Is there a reason why this won't work for you? $\endgroup$ Jul 6, 2022 at 16:01
  • $\begingroup$ I'll keep that in mind in the future thanks. I don't see any reason why it would work. What had me confused was when I mentioned my plans I was advised that FLASh wouldn't be suitable to generate contigs from my metagenome samples. I had planned to generate contigs from Read1 + Read2 and potentially cat on the output of the unmerged read by FLASh or align them separately and join them post assembly. I wonder if when I mentioned it originally They thought I was intending to rely on it for contig generation and assembly. Thank you again for your input it's been really helpful ! $\endgroup$
    – dunc4n
    Jul 7, 2022 at 7:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.