Jump to navigation Jump to search


From the Velvet web site:

Sequence assembler for very short reads.

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.


Default compilation options (max kmer=31, single threaded)
Default kmer, but using OpenMP (see notes below for details)
Max kmer of 99 and OpenMP (See notes below for details)

Note that 1.2.02, 1.2.01 and 1.1.05 are also still installed with the same binaries as above.

In addition to Velvet, as of Velvet version 1.2.06, MetaVelvet-1.1.01 is installed and made available using the same module file. There are two version compiled, meta-velvetg (using a max kmer of 33) and meta-velvetg_MAX99 (using a max kmer of 99).

Other contributed scripts distributed with the Velvet source code (such as VelvetOptimizer) are available in the contrib/ directory: e.g. $HPC_VELVET_DIR/contrib/VelvetOptimiser-2.2.0/

Running the application using modules

To use Velvet with the environment modules system at HPC the following commands are available:

Get module information for Velvet:

$module spider velvet

Load the application module:

$module load velvet

The modulefile for this software adds the directory with executable files to the shell execution PATH and sets the following environment variables:

   HPC_VELVET_DIR - directory where velvet is located. 
   HPC_VELVET_BIN - same as above.


  1. The user manual is available here.
  1. If you use one of the OpenMP versions of velvet, you must set the enviroment variables OMP_NUM_THREADS and OMP_THREAD_LIMIT to the appropriate value based on the processor request in your submission script. For example if you use #PBS -l nodes=1:ppn=8 in your script, also include export OMP_NUM_THREADS=7; export OMP_THREAD_LIMIT=8 (for a bash script) in the script itself (see sample script below and/or the user manual for more information).
  2. Please file a bugzilla request if you need an executable with different compile-time options such as color space, different kmers, LONGSEQUENCES, etc.

Sample Submission Script

#PBS -N velvet
#PBS -o velvet.out
#PBS -e velvet.err
#PBS -M <your e-mail addres>
#PBS -m abe
#PBS -l walltime=12:00:00     
#PBS -l pmem=4gb            
#PBS -l nodes=1:ppn=8 

# Walltime is in the format HH:MM:SS
# In the above PBS directives, pmem represents the per thread memory request so
# with ppn=8 and pmem=4gb you are requesting a total of 8x4 = 32GB of RAM.
module load velvet
#Set OMP_THREAD_LIMIT--should be the same as ppn above
#Set OMP_NUM_THREADS--should be 1 lower than ppn 
velveth_MAX99_OMP velvet_out/ 45 -fastq.gz -shortPaired my_paired_data.fastq.gz
velvetg_MAX99_OMP velvet_out/ -min_contig_lgth 250 -exp_cov 10 -ins_length 350