Velvet

Sequence assembler for very short reads


News

29/03/2011: Velvet 1.1

Velvet is now multithreaded, thanks to the use of the OMP library.

15/06/2010: Velvet 1.0

The Columbus module within Velvet now allows the assembly process to be assisted by alignment information onto a set of reference sequences, for example for assisted transcriptome assembly, or local re-sequencing of structural variants.

22/12/2009: Pebble and Rock Band paper in PLoS ONE

The description of the inner workings of Pebble and RockBand (i.e. the paired-end and mixed-length modules) is now available in PLoS ONE

09/09/2008: Velvet 0.7

This release contains the new Pebble algorithm which now replaces the BreadCrumb paired-end module.

02/06/2008: Velvet 0.6

This release allows the use of sparse long reads to resolve repeats.

17/03/2008: Velvet paper accepted.

27/02/2008: Velvet 0.5

This release provides functionalities for downstream analysis and visualization.

11/12/2007: Velvet 0.4

This release drastically reduces memory costs, at roughly the same calculation speed.

17/10/2007: Velvet 0.3

This release of Velvet now deals with paired end information to resolve repeats.

18/09/2007: Mailing list

A mailing list has been set up to notify users of patches and releases, but also to collect feedback.


Frequently asked questions

What is Velvet?

Velvet is a de novo genomic assembler specially designed for short read sequencing technologies, such as Solexa or 454, developed by Daniel Zerbino and Ewan Birney at the European Bioinformatics Institute (EMBL-EBI), near Cambridge, in the United Kingdom.

Velvet currently takes in short read sequences, removes errors then produces high quality unique contigs. It then uses paired-end read and long read information, when available, to retrieve the repeated areas between contigs.

Can I see the source code?

The Velvet source code is freely available under the GPL agreement.

What do I need to run it?

Velvet was designed with a 64bit Linux-compatible environment in mind, with gcc. Hopefully, it should compile and run on other systems. Currently, Velvet has been tested on Linux 64bit, Mac OS X, and Cygwin.

It should compile and run on a 32-bit machine (albeit with a few secondary compiler warnings), but you might find memory to be a limiting factor.

Sparc/Solaris machines pose some compatibility issues, so we developed have a Sparc version of Velvet (available on demand).

Where can I get Velvet?

Just download this tarball, and follow the instructions within.

Alternately, you can use Git to keep up with the updates. After installing the git package, go to the desired location and upload the project:

git clone git://github.com/dzerbino/velvet.git

Each time you want to update Velvet, just use the packaged update_velvet.sh script.

Does Velvet take base caller confidence scores into account?

No it currently does not, although it would be easy to implement. The reason we have not done it yet is because a lot can be inferred from coverage alone.

What new features are expected?

All suggestions are welcome!

How should I choose my hash length?

Long answer here.

How should I cite Velvet?

Velvet: algorithms for de novo short read assembly using de Bruijn graphs. D.R. Zerbino and E. Birney. Genome Research 18:821-829.

Where can I get more information on Velvet?

First of all, if your question is about some kind of segmentation fault/bus error, please ensure you have downloaded the very latest version of Velvet (see number at the top of page).

Please feel free to send all your suggestions, questions, requests, bug reports or complaints to Ewan Birney and Daniel Zerbino.

For regular updates, you can subscribe to the Velvet mailing list.

How does it work inside?

You can have a look at this poster; a paper was published in Genome Research and an extension was published in PLoS ONE.

How much memory should I allow for?

Simon Gladman produced this useful linear model.

Acknowledgements

Most of the code in this package was written by Daniel Zerbino, through discussions with Ewan Birney. Sylvain Forêt led the multithreading of Velvet.

However, some code was reused with kind permission from:

Also, Velvet uses and includes the zlib library developped by Jean-Loup Gailly and Mark Adler.

Simon Gladman coded some convenient scripts to manipulate the .afg assembly files more easily, and to optimise the choice of Velvet parameters.

Torsten Seemann provided a script which automatically analyses and displays in ASCII mode the coverage distribution of a Velvet assembly.

David Studholme provided a script to convert a FASTA assembly into an AGP file which can be submitted to the EMBL or the NCBI..

Many thanks to:


Last edited April 14, 2011
Daniel Zerbino