Making genome assemblies in the year 2014

I often like to encourage students to explain their work without using any complex scientific vocabulary. If you can explain what you do to your parents or grand-parents then this is great practice for explaining your work to other scientists from outside your field.

I also encourage students to think of analogies and metaphors for their work as these can really help others to grasp difficult concepts. Yesterday, I wrote a post called Making cakes in the year 2014 which was (hopefully) an obvious attempt to explain some of the complexities and problems inherent in the field of genome assembly.

It almost feels wrong to even attempt to convert millions of ~100 bp DNA fragments into — in the case of some species — a small number of sequences that span billions of bp. Every single step in the process is fraught with errors and difficulties. Every single step is controlled by software with numerous options that are often unexplored. Every single step has many alternative pieces of software available.

If we just focus on one of the earliest steps in any modern sequencing pipeline, the need to remove adapter contamination from your sequenced reads. There are at least thirty-four different tools that can be used for this step and there are over 240 different threads on SEQanswers.com that contain the words 'trim' and 'adapter' (suggesting that this process is not straightforward, and that many people need help).

I had a look at some of these tools. The program Btrim has 12 different command-line options that can all affect how the program trims adapter sequences (it has 27 different command-line options in total). Skewer has 9 different command-line options that will affect the output of the program. The trimmer Concerti has 8 options that will also affect the output. Do we even have a good idea of what is the best way to remove adapter sequences? Maybe we need a 'trimmathon' to help test all of these tools! 

If there is a point to this post maybe it would be that genome assembly is an amazingly complex, time consuming, and fundamentally difficult problem. But even the 'little steps' that that have to be done before you even start assembling your sequences are also far from straightforward. Don't convince yourself for a moment that a single tool — with default parameters — will do all of the hard work for you.